php filemtime 24小时格式

时间:2012-05-30 09:56:54

标签: php date format

我创建了此代码以获取上次触摸文件的日期,然后以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

2 个答案:

答案 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);