打印 positive/negative date_diff
Print positive/negative date_diff
假设我有这个:
$date1=date_create(date('H:I', strtotime('8:00')));
$date2=date_create(date('H:I', strtotime('18:00')));
$diff1=date_diff($date1,$date2);
echo $diff1->format("%h:%I");
输出 10:00(小时),但现在我想比较一下:
$date3=date_create(date('H:I', strtotime('8:30')));
$date4=date_create(date('H:I', strtotime('17:45')));
$diff2=date_diff($date3,$date4);
echo $diff2->format("%h:%I");
输出 9:15
。那么,我怎样才能得到 $diff1
和 $diff2
之间的差异和符号(如果它是负数)?我只想得到那 45 分钟的负数(在这种情况下)。
想想这个可以去:
$date5=date_create(date('H:i', strtotime($diff1)));
$date6=date_create(date('H:i', strtotime($diff2)));
$diff3=date_diff($date5,$date6);
echo $diff3->format("Final: %h:%I");
如果差值是负数可以用%r
格式化打印:
$diff1 = date_diff(date_create(date('H:i', strtotime('20:00'))), date_create(date('H:i', strtotime('18:00'))));
echo $diff1->format("%r%H:%i"); // prints -02:00
$diff2 = date_diff(date_create(date('H:i', strtotime('8:30'))), date_create(date('H:i', strtotime('17:45'))));
echo $diff2->format("%r%H:%i"); // prints 09:15
更好的版本:
$diff1 = date_diff(DateTime::createFromFormat('H:i', '20:00'), DateTime::createFromFormat('H:i', '18:00'));
echo $diff1->format("%r%H:%i"); // prints -02:00
$diff2 = date_diff(DateTime::createFromFormat('H:i', '8:30'), DateTime::createFromFormat('H:i', '17:45'));
echo $diff2->format("%r%H:%i"); // prints 09:15
详细了解 DateTime。
假设我有这个:
$date1=date_create(date('H:I', strtotime('8:00')));
$date2=date_create(date('H:I', strtotime('18:00')));
$diff1=date_diff($date1,$date2);
echo $diff1->format("%h:%I");
输出 10:00(小时),但现在我想比较一下:
$date3=date_create(date('H:I', strtotime('8:30')));
$date4=date_create(date('H:I', strtotime('17:45')));
$diff2=date_diff($date3,$date4);
echo $diff2->format("%h:%I");
输出 9:15
。那么,我怎样才能得到 $diff1
和 $diff2
之间的差异和符号(如果它是负数)?我只想得到那 45 分钟的负数(在这种情况下)。
想想这个可以去:
$date5=date_create(date('H:i', strtotime($diff1)));
$date6=date_create(date('H:i', strtotime($diff2)));
$diff3=date_diff($date5,$date6);
echo $diff3->format("Final: %h:%I");
如果差值是负数可以用%r
格式化打印:
$diff1 = date_diff(date_create(date('H:i', strtotime('20:00'))), date_create(date('H:i', strtotime('18:00'))));
echo $diff1->format("%r%H:%i"); // prints -02:00
$diff2 = date_diff(date_create(date('H:i', strtotime('8:30'))), date_create(date('H:i', strtotime('17:45'))));
echo $diff2->format("%r%H:%i"); // prints 09:15
更好的版本:
$diff1 = date_diff(DateTime::createFromFormat('H:i', '20:00'), DateTime::createFromFormat('H:i', '18:00'));
echo $diff1->format("%r%H:%i"); // prints -02:00
$diff2 = date_diff(DateTime::createFromFormat('H:i', '8:30'), DateTime::createFromFormat('H:i', '17:45'));
echo $diff2->format("%r%H:%i"); // prints 09:15
详细了解 DateTime。