【发布时间】:2018-05-03 20:45:15
【问题描述】:
如何使用 php 从数字时间中减去秒数?
如果我有这个时间怎么办:
00:01:30
我想把它减去 3 秒,这样就可以了
00:01:27
【问题讨论】:
-
php.net/manual/en/datetime.modify.php 可能会对您有所帮助。
-
Subtract time in PHP的可能重复
标签: php
如何使用 php 从数字时间中减去秒数?
如果我有这个时间怎么办:
00:01:30
我想把它减去 3 秒,这样就可以了
00:01:27
【问题讨论】:
标签: php
您应该查看DateTime 课程。它真的很强大,而且是天赐之物。
<?php
$date = new DateTime("2017-11-20 00:01:30");
$date->modify("-3 seconds");
echo $date->format("H:i:s");
//output :00:01:27
【讨论】:
使用 modify 函数减去秒数,如下所示。
$timeStr = new DateTime("09:00:00");
$timeStr->modify('-3 seconds'); // can be seconds, hours.. etc
echo $timeStr->format('H:i:s');
【讨论】:
正如其他答案中提到的,DateTime 类非常有用,并且在格式等方面具有更大的灵活性。然而,对于这个孤立的例子,它可以这样做:
$time = '00:01:30';
echo date('H:i:s', strtotime($time .' - 3 seconds'));
产生:
00:01:27
编辑:
根据关于微秒的评论,date 函数不支持这一点。
微秒(在 PHP 5.2.2 中添加)。请注意, date() 将始终 生成 000000 因为它需要一个整数参数,而 如果创建了 DateTime,则 DateTime::format() 确实支持微秒 以微秒为单位。
如上所述,在其他答案中,PHP 中的 DateTime 类在格式化日期方面更加灵活。它允许setTimezone 支持时区,createFromFormat 支持多种输入格式。
【讨论】: