基本上这段时间的事情令我感到沮丧,我是编程新手,所以如果我问一个愚蠢的问题我会道歉。
我的MySQL时间()存储在我的数据库中。我想将此时间添加到当前时间以确定目标时间。
$ duration是06:00:00。 (MySQL时间)
$length = strtotime($duration);
$timestart = time();
$target = $length + time();
// merely to check if im getting correct values.
echo "</br>duration: ".date('G:i:s', $length)."<br/>";
echo "current time:".date('G:i:s', $timestart)."<br/>";
echo "target time:".date('G:i:s', $target)."<br/>";
目前我得到了这个(不是6小时):
持续时间:6:00:00
当前时间:15:51:44
目标时间:19:51:44
有人可以帮我解释一下。
非常感谢,
答案 0 :(得分:5)
strtotime
将其转换为unix时间戳。它不代表六个小时。它代表今天早上6点。你应该使用秒:
$duration = '06:00:00';
$duration_array = explode(':', $duration);
$length = ((int)$duration_array[0] * 3600) + ((int)$duration_array[1] * 60) + (int)$duration_array[2];
$target = $length + time();
答案 1 :(得分:1)
我对mySql不太熟悉,但也许你可以试试
$target = strtotime($length) + time();
答案 2 :(得分:1)
Strtotime正在那里传播一个日期,比如“今天下午6点”,而不是你想要的6个小时。最简单的方法是运行
time() + (6 * 3600);
其中6是小时,3600是每小时的秒数。