gpt4 book ai didi

php - 在 PHP 中减去时间字符串

转载 作者:行者123 更新时间:2023-12-02 05:28:30 26 4
gpt4 key购买 nike

假设我有以下字符串:

$timeLeft = 00:02:30

我希望能够减去 1 秒,将其变成 00:02:29。

我试过了

$timeLeft - 1;

但它什么也没做。

我怎样才能从字符串中减去秒数?

最佳答案

您需要将其转换为时间,减去 1 秒并重新格式化,例如:

$timeLeft = '00:02:30';
$time = DateTime::createFromFormat('H:i:s', $timeLeft);
$time->sub(new DateInterval('PT1S'));
$timeLeft = $time->format('H:i:s');

下面是脏代码,它通过将时间转换为秒来“手动”执行转换,以防 PHP 5.3+ 不可用。如果减去的秒数大于总数,它肯定会出现错误行为。

$timeLeft = '00:02:30';
list($hours, $minutes, $seconds) = explode(':', $timeLeft);
$seconds += $hours*3600 + $minutes*60;
unset($hours, $minutes);
$seconds -= 1; //subtraction
$hours = floor($seconds/3600);
$seconds %= 3600;
$minutes = floor($seconds/60);
$seconds %= 60;
$timeLeft = sprintf("%'02u:%'02u:%'02u", $hours, $minutes, $seconds);

关于php - 在 PHP 中减去时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12737703/

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