php函数未返回正确的文件日期
不知道为什么,但我无法使用PHP函数来显示提交某个文件的时间。前任;大约1年前或2秒前。然而,在我的例子中,它停留在“大约1天前”,即使文件是在几秒钟前提交的 以下是自提交后应获得时间的函数php函数未返回正确的文件日期,php,Php,不知道为什么,但我无法使用PHP函数来显示提交某个文件的时间。前任;大约1年前或2秒前。然而,在我的例子中,它停留在“大约1天前”,即使文件是在几秒钟前提交的 以下是自提交后应获得时间的函数 function time_since($since) { $chunks = array( array(60 * 60 * 24 * 365 , 'year'), array(60 * 60 * 24 * 30 , 'month'), array(6
function time_since($since) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'year'),
array(60 * 60 * 24 * 30 , 'month'),
array(60 * 60 * 24 * 7, 'week'),
array(60 * 60 * 24 , 'day'),
array(60 * 60 , 'hour'),
array(60 , 'minute'),
array(1 , 'second')
);
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0) {
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
是否尝试为函数传递时间戳而不是字符串:
'date' => time_since(time() - filemtime($dir . $file)),
是否尝试为函数传递时间戳而不是字符串:
'date' => time_since(time() - filemtime($dir . $file)),
在进行计算之前,应该将日期转换为unix时间戳
'date' => time_since(date("ymd Hi", filemtime($dir . $file))),
应该是:
'date' => time_since(strtotime(date("Y-m-d H:i:00", filemtime($dir . $file)))),
更新:
@Arthur Halma给出了正确的答案:filemtime返回一个时间戳
'date' => time_since(time() - filemtime($dir . $file)),
应该有效。在进行计算之前,您应该将日期转换为unix时间戳
'date' => time_since(date("ymd Hi", filemtime($dir . $file))),
应该是:
'date' => time_since(strtotime(date("Y-m-d H:i:00", filemtime($dir . $file)))),
更新:
@Arthur Halma给出了正确的答案:filemtime返回一个时间戳
'date' => time_since(time() - filemtime($dir . $file)),
应该能行。非常好:)谢谢你这么多工作非常好:)谢谢你这么多