【发布时间】:2019-10-03 08:43:14
【问题描述】:
我想以与 linux diff 命令显示的格式相同的格式显示时间。
D:\>diff -dub old.cfg new.cfg
--- old.cfg 2019-05-15 15:03:14.289950700 +0530
+++ new.cfg 2019-05-14 16:07:21.119695300 +0530
我想将文件的最后修改时间显示为2019-05-15 15:03:14.289950700 +0530。
我使用了stat,但我没有得到纳秒部分。 Alo,需要给定格式的时区。我也尝试了Time::HiRes,但无法获得。
my $dt = strftime("%Y-%m-%d %H:%M:%S", localtime((stat($old_file))[9]));
它返回:2019-05-15 15:03:14。你能帮我追加其他信息吗?
【问题讨论】:
-
BSD::stat 看起来很有希望获得员工档案时间。
-
@Shawn:内部 perl 模块可以吗?
-
我不这么认为。
stat只返回秒,POSIX::stat只是它的另一个名字。 -
一旦你得到以纳秒为单位的时间......除以 1000000000 得到秒,使用它来获取时间作为人类可读的字符串,就像你正在做的那样,并使用余数来获取剩余的纳秒。