我有一个毫秒值的文件,例如“1366535578”,我需要将其转换为日期时间。在python中我可以做如下
import datetime
print datetime.datetime.fromtimestamp(1366535578)
如何在 perl 中实现,使其以“20130421181258”格式显示
任何帮助表示赞赏。
我有一个毫秒值的文件,例如“1366535578”,我需要将其转换为日期时间。在python中我可以做如下
import datetime
print datetime.datetime.fromtimestamp(1366535578)
如何在 perl 中实现,使其以“20130421181258”格式显示
任何帮助表示赞赏。
核心Time::Piece
模块将为您执行此操作。它覆盖了内置localtime
函数,因此它有一个strftime
方法:
use Time::Piece;
print localtime(1366535578)->strftime('%Y%m%d%H%M%S');
输出
20130421101258
毫秒实际上表示持续时间而不是时间。
你可以使用这个:
use POSIX qw( strftime );
my $formatted = strftime("%Y%m%d%H%M%S", localtime($ts/1000));
该字符串strftime
是您的毫秒字符串。
这为您提供了YYYY-mm-dd hh:mm:ss
格式,如果您愿意,您可以删除 hiphens 以获得您的格式或安排它到达您的格式。
注意:删除了格式字符串中的连字符和冒号。
my @date = localtime(time);
$date[5] += 1900;
$date[4] += 1;
$date[2] = '0'.$date[2] if ($date[2] < 10);
$date[1] = '0'.$date[1] if ($date[1] < 10);
$date[4] = '0'.$date[4] if ($date[4] < 10);
$date[3] = '0'.$date[3] if ($date[3] < 10);
print join(@date,'');