我们正在尝试使用utime将文件更新为特定的时间戳。要做到这一点,我们将时间戳的字符串版本,将其转换为"时间对象",然后使用epoch方法获取epoch来更新时间文件。
my $yyyymmddhhmmss; # variable holding string version of time. example: 20150512:150632
my $fileTime = Time::Piece->strptime($yyyymmddhhmmss, '%Y%m%d:%H%M%S');
utime $fileTime->epoch, $fileTime->epoch, $outfile;
但是,它将文件时间戳设置为UTC,这与我们所在的时区不同。除了手动添加额外的秒数,还有其他方法可以让epoch为我们的时区推出秒数吗?
任何地方都不能指定$yyyymmddhhmmss
为本地时间。
Time::Piece->strptime($yyyymmddhhmmss, '%Y%m%d:%H%M%S')
localtime->strptime($yyyymmddhhmmss, '%Y%m%d:%H%M%S')