Pertama-tama, 'zaman' Unix atau zero-time adalah 1970-01-01 00: 00: 00Z (artinya tengah malam tanggal 1 Januari 1970 di zona waktu Zulu atau GMT atau UTC). Cap waktu Unix adalah jumlah detik sejak saat itu - bukan terhitung detik kabisat.
Menghasilkan waktu saat ini di Perl agak mudah:
perl -e 'print time, "\n"'
Menghasilkan waktu yang sesuai dengan tanggal / nilai waktu yang diberikan agak kurang mudah. Secara logis, Anda menggunakan strptime()
fungsi dari POSIX. Namun, modul Perl POSIX :: strptime (yang terpisah dari modul POSIX) memiliki tanda tangan:
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) =
POSIX::strptime("string", "Format");
Fungsi mktime
dalam modul POSIX memiliki tanda tangan:
mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
Jadi, jika Anda tahu format data Anda, Anda bisa menulis varian di:
perl -MPOSIX -MPOSIX::strptime -e \
'print mktime(POSIX::strptime("2009-07-30 04:30", "%Y-%m-%d %H:%M")), "\n"'