Zuallererst ist die Unix-Epoche oder Nullzeit 1970-01-01 00: 00: 00Z (dh Mitternacht des 1. Januar 1970 in der Zeitzone Zulu oder GMT oder UTC). Ein Unix-Zeitstempel ist die Anzahl der Sekunden seit dieser Zeit - ohne Berücksichtigung von Schaltsekunden.
Das Generieren der aktuellen Zeit in Perl ist ziemlich einfach:
perl -e 'print time, "\n"'
Das Generieren der Zeit, die einem bestimmten Datums- / Zeitwert entspricht, ist weniger einfach. Logischerweise verwenden Sie die strptime()
Funktion von POSIX. Das Perl POSIX :: strptime-Modul (das vom POSIX-Modul getrennt ist) hat jedoch die folgende Signatur:
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) =
POSIX::strptime("string", "Format");
Die Funktion mktime
im POSIX-Modul hat die Signatur:
mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
Wenn Sie also das Format Ihrer Daten kennen, können Sie eine Variante schreiben über:
perl -MPOSIX -MPOSIX::strptime -e \
'print mktime(POSIX::strptime("2009-07-30 04:30", "%Y-%m-%d %H:%M")), "\n"'