我正试图在Laravel中获取文件的最后修改日期。工作正常,但File :: lastModified()函数根据UTC返回Unix时间戳。所以,在Windows资源管理器中,我看到文件的“修改日期”是“4/11/2018 10:32 AM”。如果我执行下面的代码,回答的是“2018-04-11 14:32:12”,这是+4小时:
$lastmodified = File::lastModified($filename);
$lastmodified = DateTime::createFromFormat("U", $lastmodified);
$lastmodified = $lastmodified->format('Y-m-d H:i:s');
echo $lastmodified;
顺便说一下,它正在查看上午10:32的时间,将其转换为UTC,然后返回Unix时间戳。是不是有一些方法可以在没有将10:32 AM时间转换为UTC的情况下获得时间戳?
答案 0 :(得分:0)
unix时间戳将始终为UTC。您可以使用DateTime::setTimeZone将时间转换为所需的时区。
$lastmodified = DateTime::createFromFormat("U", $lastmodified);
$lastmodified->setTimezone(new DateTimeZone('America/New_York'));