Perl Человек Читаемое время с миллисекундами до EPOCH - PullRequest
0 голосов
/ 09 сентября 2011

Я анализирую SIP-сообщения и нам нужно включить миллисекунды в удобочитаемую часть (т.е. возможно ли использование от человека до эпохи, но не включая миллисекунды? Я нашел DateTime в CPAN, но у меня возникла проблема с его установкой. поэтому ищу другие варианты: Пример

$epoch = convert(2011/09/08 00:10:17.997)
print $epoch

и отпечатки: 1315183552

Ответы [ 2 ]

4 голосов
/ 09 сентября 2011

Устраните любую проблему с вашей системой, которая мешает вам установить модуль.

За исключением этого, время эпохи имеет только второе разрешение.Уберите миллисекунды и конвертируйте, используя Time :: Local (Вам нужно будет самостоятельно проанализировать SIP-сообщение)

$timestamp = "2011/09/08 00:10:17.997";
$timestamp =~ /(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2}):(\d{2})/;

# ($sec,$min,$hour,$mday,$mon,$year);
$epoch = timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);

Если это действительно важно, округловторое с использованием миллисекунд.

1 голос
/ 09 сентября 2011

Быстро и грязно, если вы находитесь под Linux:

$epoch = `date -d "2011/09/08 00:10:17.997" +%s`; print $epoch;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...