gpt4 book ai didi

php - 打印正/负 date_diff

转载 作者:行者123 更新时间:2023-11-29 01:35:32 29 4
gpt4 key购买 nike

假设我有这个:

$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 分钟的负数(在这种情况下)。

最佳答案

如果差异为负,您可以使用%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 .

关于php - 打印正/负 date_diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48433084/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com