Ho bisogno di ottenere lo scostamento UTC del fuso orario corrente in Perl in un modo multipiattaforma (Windows e varie versioni di Unix). Esso dovrebbe incontrare questo formato:Qual è il modo migliore per ottenere lo scostamento UTC in Perl?
zzzzzz, che rappresenta ± hh: mm in relazione al UTC
Sembra che dovrei essere in grado di farlo tramite strftime()
, ma non sembra essere coerente
Unix:
Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: -0700
di Windows:
Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: Mountain Standard Time
Mentre sembra che Unix mi sta dando quello che voglio (o almeno qualcosa di simile), Windows non è. Sono abbastanza sicuro di poterlo fare con Date::Time
o simili, ma mi piacerebbe davvero non avere alcuna dipendenza che non posso garantire a un utente a causa della nostra ampia base di installazione.
Mi manca qualcosa di ovvio qui? Grazie in anticipo.
'Time :: Local' è un modulo principale in tutte le distribuzioni di Perl 5. – mob
Questa è un'ottima soluzione; gli ha dato solo un test rudimentale, ma sembra funzionare proprio come dovrebbe. Grazie. – Morinar