Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP日期间隔:两个不同月份中相同日期之间的差异不是一个月_Php_Date - Fatal编程技术网

PHP日期间隔:两个不同月份中相同日期之间的差异不是一个月

PHP日期间隔:两个不同月份中相同日期之间的差异不是一个月,php,date,Php,Date,我正在开发一个用户每月付费的订阅服务 我有两次约会 1:2012-12-05(今天) 2:2013-01-05(截止日期) 对我来说,那是一个月。但对于PHP来说,这仅仅是30天 下面是一些代码(您可以看到上面映射的日期值) 这是0-0-30的回声 这是为什么?我如何让PHP计算不同月份中相同日期之间的差异,作为整个月份?您还应该调整时间,否则一天可能不完整 例如: date_default_timezone_set("Europe/Rome"); $end='2013-01-05'; $int

我正在开发一个用户每月付费的订阅服务

我有两次约会

1:2012-12-05(今天)

2:2013-01-05(截止日期)

对我来说,那是一个月。但对于PHP来说,这仅仅是30天

下面是一些代码(您可以看到上面映射的日期值)

这是0-0-30的回声


这是为什么?我如何让PHP计算不同月份中相同日期之间的差异,作为整个月份?

您还应该调整时间,否则一天可能不完整

例如:

date_default_timezone_set("Europe/Rome");
$end='2013-01-05';
$intervalo = date_diff(date_create(), date_create($end));
echo $intervalo->format("Years:%Y,Months:%M,Days:%d,Hours:%H,Minutes:%i,Seconds:%s");
结果如下:

Years:00,Months:00,Days:30,Hours:05,Minutes:59,Seconds:53
下面的代码

date_default_timezone_set("Europe/Rome");
$start='2012-12-05';
$end='2013-01-05';
$intervalo = date_diff(date_create($start), date_create($end));
echo $intervalo->format("Years:%Y,Months:%M,Days:%d,Hours:%H,Minutes:%i,Seconds:%s");
给出结果:

Years:00,Months:01,Days:0,Hours:00,Minutes:0,Seconds:0
检查
$today
的值是否也有时间,如果有,您应该只提取日期而忘记时间

Years:00,Months:01,Days:0,Hours:00,Minutes:0,Seconds:0