пятница, 5 августа 2011 г.

Манипуляции с unix timestamp

Традиционно время в юниксах измеряется в секундах от полуночи 1 января 1970 года.
Чтобы получить значение временной метки для определенной даты, проще всего использовать функцию mktime perl:
#/usr/bin/perl
USE POSIX;
my ( $sec, $min, $hour, $mday, $mon, $year ) = ( 1, 0, 0, 1, 10, 107 );
my $timestamp = mktime( $sec, $min, $hour, $mday, $mon, $year );
print $timestamp

А если нужно наоборот из временной метки получить дату в читаемом виде, достаточно воспользоваться стандартной утилитой date:
date -r 10000
четверг,  1 января 1970 г. 05:46:40 (MSK)

1 комментарий:

  1. А как получить временную метку для текущей даты? Не прописывать же все параметры.

    ОтветитьУдалить