Trước hết, Unix 'epoch' hoặc zero-time là 1970-01-01 00: 00: 00Z (nghĩa là nửa đêm ngày 1 tháng 1 năm 1970 theo múi giờ Zulu hoặc GMT hoặc UTC). Dấu thời gian Unix là số giây kể từ thời điểm đó - không chiếm số giây nhuận.
Tạo thời gian hiện tại trong Perl khá dễ dàng:
perl -e 'print time, "\n"'
Tạo thời gian tương ứng với một giá trị ngày / thời gian nhất định là khá dễ dàng. Theo logic, bạn sử dụng strptime()
chức năng từ POSIX. Tuy nhiên, mô-đun Perl POSIX :: strptime (tách biệt với mô-đun POSIX) có chữ ký:
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) =
POSIX::strptime("string", "Format");
Chức năng mktime
trong mô-đun POSIX có chữ ký:
mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
Vì vậy, nếu bạn biết định dạng dữ liệu của mình, bạn có thể viết một biến thể trên:
perl -MPOSIX -MPOSIX::strptime -e \
'print mktime(POSIX::strptime("2009-07-30 04:30", "%Y-%m-%d %H:%M")), "\n"'