我创建此代码是为了获取文件上次触摸的日期,然后以 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));
Run Code Online (Sandbox Code Playgroud)
输出:最后更新:1969 年 12 月 31 日 06:59 PM
尝试这个:
if (file_exists($filename)) {
$date = filemtime($filename);
clearstatcache();
}
echo "- last updated: " . date('F d Y h:i A', $date);
Run Code Online (Sandbox Code Playgroud)
在您的代码中,这一行:
$date = date(filemtime($filename));
Run Code Online (Sandbox Code Playgroud)
不会工作,因为filemtime返回一个 UNIX 时间戳,然后您将其作为第一个参数传递给date(). 即使这确实有效,您也需要使用 将该日期转换回 UNIX 时间戳strtotime(),然后再次转换回日期字符串,这似乎有点低效。
还要考虑如果该文件不存在并且$date已在代码中的其他位置设置,会发生什么情况?