如何解析我的Web服务在Perl中以JSON格式接收的日期格式?我想将它转换为DateTime对象:
Date(1216647000000-0400)
我假设自纪元以来它是毫秒以及时区偏移,但日期是偏离的.
从纪元开始,时间以毫秒为单位.除以1000得到纪元秒.
确保这适用于您遇到的其他情况:
use DateTime; my $json_date = 'Date(1216647000000-0400)'; if ($json_date =~ m{ \b (\d+) \b ([+-]\d\d\d\d\b)? }x ) { my ( $epoch_milliseconds, $time_zone ) = ( $1, $2 ); my $dt = DateTime->from_epoch( epoch => $epoch_milliseconds / 1000 ); if ($time_zone) { $dt->set_time_zone($time_zone); } print $dt->datetime; }