我需要从 PHP 中的日期时间变量中减去 45 分钟。
编码:
$thestime = '2012-07-27 20:40';
$datetime_from = date("Y-m-d h:i",strtotime("-45 minutes",strtotime($thestime)));
echo $datetime_from;
返回结果2012-07-27 07:55
。
不过应该是2012-07-27 19:55
。我该如何解决?
你应该做:
$datetime_from = date("Y-m-d H:i", strtotime("-45 minutes", strtotime($thestime)));
代替意味着使用 24 小时格式H
,h
用前导零表示小时:00
通过23
.
您可以在PHP 日期函数文档中阅读更多相关信息。
还有一些更流畅的面向对象的方法,例如DateTime::sub
:
$datetime_from = (new DateTime($thestime))->sub(DateInterval::createFromDateString('45 minutes'))->format('Y-m-d H:i')
Carbon
或者由扩展 PHP 内置类的库提供的更具表现力的方式DateTime
:
$datetime_from = (new Carbon($thestime))->subMinutes(45)->format('Y-m-d H:i');