[英]How do I convert the difference between two unixtime dates to days?
我试图确定目录中文件的日期与当前日期之间的差额,我尝试计算两种方法:
$fileUnixTimeDate = filemtime($file);
$fileFormattedDate = date('m/d/y',filemtime($file));
$todayUnixTimeDate = time();
$todayFormattedDate = date('m/d/y',time());
$unixDifference = $todayUnixTimeDate - $fileUnixTimeDate;
$formattedDifference = $todayFormattedDate - $fileFormattedDate;
这是目录中两个文件的结果:
使用PHP的DateTime
类-将两个日期实例化为DateTime
对象,并对它们进行diff
。 最后, format
diff
以输出天数。
使用http://php.net/DateTime作为参考。
编辑:示例:
$dt1 = new DateTime(date('Y-m-d H:i:s', filemtime($file)));
$dt2 = new DateTime(); // this would be the "now" datetime
$diff = $dt1->diff($dt2);
echo $diff->format('%R%a days');
我只能假设您尝试获取天数差:
$fileUnixTimeDate = filemtime($file);
$todayUnixTimeDate = time();
$unixDifference = $todayUnixTimeDate - $fileUnixTimeDate;
$daysDifference = $unixDifference/86400;
注意: 86400,因为一天中有86400秒。
$daysDifference
将包含天数。
Unix时间计算已经是一个很好的开始:
$fileUnixTimeDate = filemtime($file);
$todayUnixTimeDate = time();
$unixDifference = $todayUnixTimeDate - $fileUnixTimeDate;
现在,使用给定的结果(7389045&7216242),您需要将它们转换为可读格式。 例如7380045〜= 85.5天。 7216242〜= 83.5天
echo "Hours difference = ".floor((unixDifference )/3600) . "<br>";
echo "Minutes difference = ".floor((unixDifference )/60) . "<br>";
echo "Seconds difference = " .(unixDifference ). "<br>";
echo "Days difference = ".floor((unixDifference )/86400) . "<br>";
尝试一下,看看会得到什么结果。
看到这个问题: 在php中两个unix时间戳之间寻找天数
有关Unix时间的更多信息: http : //en.wikipedia.org/wiki/Unix_time
使用DateTime
类可以非常轻松地处理日期:
// Pretend this is from "filemtime()"
$time = strtotime('9 days ago');
// Create a DateTime object using the file's creation time
// Note: Unix timestamps need to be prefixed with "@"
$filetime = new \DateTime('@'.$time);
// The datetime right now, for comparison
$now = new \DateTime('now');
// Get the difference between the two times
$diff = $filetime->diff($now);
// And echo out the day difference
echo "The file was created {$diff->days} days ago.";
$diff
变量包含很多优点:
object(DateInterval)[3]
public 'y' => int 0
public 'm' => int 0
public 'd' => int 9
public 'h' => int 0
public 'i' => int 0
public 's' => int 0
public 'invert' => int 0
public 'days' => int 9
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.