Was ist das Gegenteil von der localtime-Funktion in Perl?
In Perl localtime nimmt ein Unix timestamp und gibt zurück Jahr/Monat/Tag/Stunde/Minute/Sekunde etc. Ich bin auf der Suche nach dem Gegenteil von localtime: ich habe die Teile, und ich möchte zu bauen, die einen unix-timestamp von Ihnen.
Dieses Modul enthält Funktionen, die
sind die inversen von built-in perl
Funktionen localtime() und gmtime().
Sie akzeptieren ein Datum als ein sechs-element
array und Rückgabe der entsprechenden
Zeit(2) - Wert in Sekunden seit dem
system-Epoche (Mitternacht, 1. Januar,
1970 GMT auf Unix, zum Beispiel). Diese
Wert kann positiv oder negativ sein
obwohl POSIX erfordert nur Unterstützung für
positive Werte, also Daten vor dem
system-s Epoche funktioniert möglicherweise nicht auf allen
- Betriebssysteme.
Lohnt es sich, Zeichnung, insbesondere
Aufmerksamkeit auf die zu erwartenden Bereiche für
die Werte zur Verfügung gestellt. Der Wert für die
Tag des Monats ist der aktuelle Tag (ie
1..31), während des Monats wird die Anzahl der Monate seit Januar (0..11). Diese
ist im Einklang mit den Werten zurückgegeben
von localtime() und gmtime().
Hinweis:POSIX::mktime ist auch nur ein wrapper rund um Ihre C-Bibliothek mktime() Funktion. Time::Local ist eine Reine Perl-Implementierung und liefert stets Ergebnisse, die passenden Perl -localtime. Auch, Time::Local bietet gmtime, während mktime funktioniert nur in der lokalen Zeit. (Gut, Sie könnten versuchen Sie $ENV{TZ}, aber das funktioniert nicht auf einigen Systemen.)
Ich weiß nicht, welche Unterschiede, wenn überhaupt, gibt es zwischen Time::Local und POSIX::mktime, aber ich habe immer benutzt, Time::Local und hatte nie irgendwelche Probleme mit ihm.
Hinweis: Perl 's localtime ist nur ein wrapper rund um Ihre C-Bibliothek, die localtime oder localtime_r Funktion, und liefert stets Ergebnisse, die passenden C' s mktime. 🙂
Gut, es gibt einen patch, der macht Perl ' s localtime y2038 sicher, auch wenn Ihre C-Bibliothek die version nicht. Ich glaube nicht, dass es schon standardmäßig integriert, aber es wahrscheinlich sein wird. Es behebt Time::Local, aber ich glaube nicht, dass es patches POSIX::mktime.
DateTime auf CPAN könnte von einigem nutzen. Es hat auch eine viel der Zeit Bearbeitung/übersetzung Methoden.
Erstellen Sie einfach die DateTime mit Ihr Teile, und rufen Sie $datetime - ->formatter("%s") ;
Ja. Wenn Sie Zweifel haben, verwenden Sie DateTime-Eine Echte Perl-Zeit-system. Hin und her springen zwischen crufty Datum/Uhrzeit-tools ist hellacious.
POSIX::mktime
Können Sie die timelocal Funktion in der Time::Local CPAN-Modul.
Hinweis: POSIX::mktime ist auch nur ein wrapper rund um Ihre C-Bibliothek
mktime()
Funktion. Time::Local ist eine Reine Perl-Implementierung und liefert stets Ergebnisse, die passenden Perl -localtime
. Auch, Time::Local bietetgmtime
, währendmktime
funktioniert nur in der lokalen Zeit. (Gut, Sie könnten versuchen Sie$ENV{TZ}
, aber das funktioniert nicht auf einigen Systemen.)DateTime auf CPAN könnte von einigem nutzen. Es hat auch eine viel der Zeit Bearbeitung/übersetzung Methoden.
Erstellen Sie einfach die DateTime mit Ihr Teile, und rufen Sie $datetime - ->formatter("%s") ;