【发布时间】:2015-12-22 05:27:12
【问题描述】:
使用 perl,我试图估计自文件创建以来的时间。 我想将本地时间转换为 unix 时间(纪元),然后取文件的 unix 时间并减去。
我面临的问题是,当我将 localtime 转换为 unixtime 时,它转换不正确!
my $current = str2time (localtime(time));
print $current;
我得到的结果是
2768504400 = Sun, 23 Sep 2057 21:00:00 GMT
2421349200 = Sun, 23 Sep 2046 21:00:00 GMT
我必须以特定日期格式输入 str2time 吗?
【问题讨论】:
-
请参阅search.cpan.org/~rse/lcwa-1.0.0/lib/lwp/lib/HTTP/… 了解支持的格式列表。
-
为什么不直接使用time?
-
您确定要使用文件的unix时间吗?为什么不使用 perl 的 stat 函数来获取文件的最后修改日期/时间并将苹果与苹果进行比较?就像
perl -e 'print("LMD: ",scalar(localtime((stat("README.md"))[9])),"\nNOW: ",scalar(localtime(time())),"\n")',产生:LMD: Thu Sep 17 12:08:58 2015和NOW: Thu Sep 24 10:58:38 2015 -
str2time不是内置函数,但有几个 CPAN 模块具有该名称。你用的是哪一个? -
..请删除我..
标签: perl date unix-timestamp epoch