如何获取以本地时间格式设置的文件修改时间?
通过做这个:
use File::stat;
use Time::Piece;
my $format = '%Y%m%d%H%M';
print Time::Piece->strptime(stat($ARGV[0])->mtime, '%s')->strftime($format);
我得到202011301257
的文件是在当地时间11月30日13:57保存的(格林尼治标准时间+01:00)。
既然我能做
print localtime $file->stat->mtime;
和
print localtime->strftime($format)
我想做类似的事情
print (localtime stat($file)->mtime)->strftime($format);
哪个抛出
Can't locate object method "mtime" via package "1" (perhaps you forgot to load "1"?)
有什么建议吗?
我想做类似的事情
print (localtime stat($file)->mtime)->strftime($format);
很接近!你的第一个括号位于错误的位置:
#!/usr/bin/env perl
use warnings; # Pardon the boilerplate
use strict;
use feature 'say';
use File::stat;
use Time::Piece;
my $format = '%Y%m%d%H%M';
say localtime(stat($ARGV[0])->mtime)->strftime($format);
关于“您的第一个括号在错误的位置”,这实际上不是问题。括号的位置正确。问题是,周围打印的省略括号在这里必需的,因为
print (...)->strftime($format);
手段( print(...) )->strftime($format);