Was ist das Gegenteil der localtime-Funktion in Perl?

7

In Perl verwendet localtime einen Unix-Zeitstempel und gibt Jahr / Monat / Tag / Stunde / Minute / Sekunde usw. zurück. Ich suche nach dem Gegenteil von localtime : Ich habe die Teile und ich würde wie baue ich einen Unix-Zeitstempel von ihnen.

    
Kip 02.03.2009, 19:41
quelle

3 Antworten

9
Liudvikas Bukys 02.03.2009, 19:48
quelle
14

Sie können die Timelocal-Funktion im Time :: Local CPAN-Modul verwenden.

  

NAME

     

Zeit :: Lokal - Zeit effizient berechnen   von lokaler und GMT Zeit

     

SYNOPSIS

%Vor%      

BESCHREIBUNG

     

Dieses Modul bietet Funktionen, die   sind die Umkehrung der eingebauten Perl   Funktionen localtime () und gmtime ().   Sie akzeptieren ein Datum als sechs Elemente   Array und geben Sie die entsprechenden zurück   Zeit (2) Wert in Sekunden seit dem   Systemepoche (Mitternacht, 1. Januar,   1970 GMT unter Unix zum Beispiel). Dies   Wert kann positiv oder negativ sein,   obwohl POSIX nur Unterstützung für benötigt   positive Werte, also Daten vor dem   Die Epoche des Systems funktioniert möglicherweise nicht bei allen   Betriebssysteme.

     

Es lohnt sich, besonders zu zeichnen   Aufmerksamkeit auf die erwarteten Bereiche für   die angegebenen Werte. Der Wert für die   Tag des Monats ist der tatsächliche Tag (d. h   1..31), während der Monat die Anzahl der Monate seit Januar (0.11) ist. Dies   stimmt mit den zurückgegebenen Werten überein   von localtime () und gmtime ().

Hinweis: POSIX :: mktime ist nur ein Wrapper um Ihr C herum Bibliothek mktime() -Funktion. Time :: Local ist eine reine Perl-Implementierung und gibt immer Ergebnisse aus, die mit Perls localtime übereinstimmen. Auch Time :: Local bietet gmtime an, während mktime nur in Ortszeit funktioniert. (Nun, Sie könnten $ENV{TZ} ändern, aber das funktioniert nicht auf einigen Systemen.)

    
Robert S. Barnes 02.03.2009 20:12
quelle
7

DateTime auf CPAN könnte von Nutzen sein. Es hat auch ein viel von Zeitmanipulations- / Übersetzungsmethoden.

Erstelle einfach DateTime mit deinen Teilen und rufe $ datetime- & gt; Formatierer ("% s");

    
Ben S 02.03.2009 19:51
quelle

Tags und Links