使用File::stat我们可以获得ctime给定文件.我的问题是如何更改ctime,这意味着从纪元以来的inode更改时间(以秒为单位)到正常时间表示,如"2009-08-26 17:28:28".是否有任何内置或模块可以解决此任务?
小智 9
最标准的方法是使用POSIX模块和它的strftime函数.
use POSIX qw( strftime );
use File::stat;
my $stat_epoch = stat( 'some_file.name' )->ctime;
print strftime('%Y-%m-%d %H:%M:%S', localtime( $stat_epoch ) );
Run Code Online (Sandbox Code Playgroud)
所有这些标记,如%Y,%m等,都是在标准中定义的,并且在C,系统"日期"命令(至少在Unix上)中的工作方式相同,依此类推.