我创建了此代码以获取上次触摸文件的日期,然后以AM / PM格式将其显示给用户。
它似乎没有工作。我知道我很亲密;我做错了什么?
$filename = 'test.html';
if (file_exists($filename)) {
$date = date(filemtime($filename));
clearstatcache();
}
echo "- last updated: " . date('F d Y h:i A', strtotime($date));
输出:最后更新时间:1969年12月31日下午06:59
答案 0 :(得分:3)
试试这个:
if (file_exists($filename)) {
$date = filemtime($filename);
clearstatcache();
}
echo "- last updated: " . date('F d Y h:i A', $date);
在您的代码中,这一行:
$date = date(filemtime($filename));
将无效,因为filemtime
返回一个UNIX时间戳,然后您将其作为第一个参数传递给date()
。即使这确实有效,您也可以将该日期转换回带有strtotime()
的UNIX时间戳,然后再次返回到日期字符串,这似乎效率不高。
还要考虑如果文件不存在会发生什么情况,代码中的其他地方会设置$date
吗?
答案 1 :(得分:0)
$date = date(filemtime($filename));
那条线是错的。 date()
的第一个参数是格式字符串。替换为:
$date = filemtime($filename);
此外,您无需在时间戳上执行strtotime()
,只需按原样使用:
echo date('F d Y h:i A', $date);