我有2个日期,我希望能够区分使用date_diff function。
这是我正在运行的代码:
$starttime=DateTime::createFromFormat("Y-m-d\TH:i:sP",'2014-10-08T22:03:51.579+02:00');
$stoptime=DateTime::createFromFormat("Y-m-d\TH:i:sP",'2014-10-08T22:04:59.811+02:00');
$interval = date_diff($starttime, $stoptime);
$interval->format("%i %s");
这应该从日期计算返回一个字符串' 01:08'
如果计算正确但我认为创建日期似乎有问题,$starttime
和$stoptime
的var_dump返回FALSE,根据doc意味着日期时间对象无法创建。我是否为我的日期/时间字符串指定了错误的格式?
答案 0 :(得分:2)
你使它变得比它需要的更复杂。 DateTime()
可以处理该日期格式,因此请跳过createFromFormat()
:
$starttime= new DateTime('2014-10-08T22:03:51.579+02:00');
$stoptime= new DateTime('2014-10-08T22:04:59.811+02:00');
$interval = date_diff($starttime, $stoptime);
echo $interval->format("%i:%S");
此外,使用%S
获取秒数的前导零。