Necesito obtener el desplazamiento UTC de la zona horaria actual en Perl en una plataforma cruzada (Windows y varios sabores de Unix). Debe cumplir con este formato:¿Cuál es la mejor manera de obtener el desplazamiento UTC en Perl?
zzzzzz, lo que representa ± hh: mm en relación a UTC
Parece que yo debería ser capaz de hacerlo a través de strftime()
, pero no parece se consistente.
Unix:
Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: -0700
de Windows:
Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: Mountain Standard Time
Aunque parece que Unix es que me da lo que quiero (o al menos algo parecido), Windows no lo es. Estoy bastante seguro de que puedo hacerlo con Date::Time
o similar, pero realmente me gustaría no tener ninguna dependencia que no puedo garantizar que tenga un usuario debido a nuestra amplia base de instalación.
¿Me falta algo obvio aquí? Gracias por adelantado.
'Time :: Local' es un módulo básico en todas las distribuciones de Perl 5. – mob
Esta es una gran solución; solo le dio una prueba rudimentaria, pero parece funcionar como debería. Gracias. – Morinar