日期时间差异错误
问题描述:
我在使用日期时间差异时遇到问题。日期时间差异错误
这里是PHP代码
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->days;
正确的结果应该是2,但不幸的是它会导致6015
。即使我改变日期,它仍然是6015
。你们遇到这个问题吗?我试图从其他计算机运行脚本,但它的工作。
答
试试这个,
$start_date = new DateTime("2009-10-11");
$end_date = new DateTime("2009-10-13");
$interval = $start_date->diff($end_date);
echo "Result " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days ";
使用$interval->days
与$interval->d." days "
替代你可以检查我的答案https://*.com/a/14938421/718224上日期di请参阅更多信息。
这可以帮助你。
+1
这适用于我。谢谢 – 2013-03-21 06:36:53
+0
@RichardYbias很乐意帮助你。 – 2013-03-21 06:40:52
答
确保设置格式()
<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>
答
是肯定男人,你需要分配时区
试试这个代码 我将它设置为印度
$MNTTZ = new DateTimeZone('Asia/Kolkata');
$datetime1 = new DateTime('2009-10-11',$MNTTZ);
$datetime2 = new DateTime('2009-10-13',$MNTTZ);
$interval = $datetime1->diff($datetime2);
echo $interval->days;
尝试在DateTiem设置时区为“UTC” – alwaysLearn 2013-03-21 06:12:00
这说'2':HTTP ://codepad.viper-7.com/wa4xVo所以我想你有一个重击或什么的设置。 – 2013-03-21 06:16:39