Wie ermittele ich die aktuelle Zeitzone, in der ein Rechner mit Perl arbeitet?

7

Ich hatte angenommen, es wäre so einfach wie $ENV{TZ} , aber die Umgebungsvariable TZ ist nicht gesetzt, und dennoch weiß der Befehl date immer noch, dass ich im EDT bin, also muss es eine andere Art der Bestimmung geben Zeitzone (außer sagen chomp(my $tz = qx/date +%Z/); ).

    
Chas. Owens 13.06.2009, 03:10
quelle

5 Antworten

14
%Vor%     
Igor Krivokon 13.06.2009, 03:14
quelle
6

Wenn Sie etwas portabler als POSIX (aber wahrscheinlich viel langsamer) möchten, können Sie DateTime :: TimeZone dafür verwenden:

%Vor%     
Dave Rolsky 13.06.2009 11:58
quelle
5
%Vor%

tzname() gibt Ihnen Zugriff auf das POSIX globale tzname - aber Sie müssen localtime() aufgerufen haben, damit es an erster Stelle gesetzt wird.

    
Beano 13.06.2009 07:05
quelle
1

Vielleicht ist das schneller:

%Vor%     
Pavel 01.04.2015 20:52
quelle
0

Wenn Sie etwas wie +05:30 (UTC + 5.5 / Indien Zeit) benötigen, können Sie den folgenden Code verwenden.

%Vor%

Diese Antwort ist von Pavels Antwort oben inspiriert.

    
sancho21 22.11.2017 06:37
quelle

Tags und Links