Was ist der beste Weg, um den UTC-offset in Perl?

Ich brauche, um den UTC-offset der aktuellen Zeitzone in Perl in ein cross-Plattform (Windows und verschiedene Unix-Geschmacksrichtungen) Weg. Es sollte genügen dieses format:

zzzzzz, das entspricht ±hh:mm in relation zur UTC

Sieht es aus wie ich sollte in der Lage sein, um es über strftime() ist, aber es nicht konsistent zu sein scheint.

Unix:

Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: -0700

Windows:

Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: Mountain Standard Time

Während es scheint, dass Unix gibt mir, was ich will (oder zumindest so etwas in der Nähe), Windows nicht. Ich bin mir ziemlich sicher, dass ich es tun kann, mit Date::Time oder ähnliches, aber ich möchte wirklich nicht irgendwelche Abhängigkeiten, die ich nicht garantieren kann, dass ein Benutzer durch unsere Breite installierte Basis.

Übersehe ich etwas offensichtliches hier? Vielen Dank im Voraus.

InformationsquelleAutor Morinar | 2010-01-26
Schreibe einen Kommentar