Php 与添加2个时间值混淆
基本上,这整段时间都让我很沮丧,我对编程还不熟悉,所以如果我问了一个愚蠢的问题,我会道歉 我的数据库中存储了一个MySQL time()。我想将此时间添加到当前时间,以便建立目标时间 $duration为06:00:00。(MySQL时间)Php 与添加2个时间值混淆,php,mysql,time,Php,Mysql,Time,基本上,这整段时间都让我很沮丧,我对编程还不熟悉,所以如果我问了一个愚蠢的问题,我会道歉 我的数据库中存储了一个MySQL time()。我想将此时间添加到当前时间,以便建立目标时间 $duration为06:00:00。(MySQL时间) $length=strottime($duration); $timestart=time(); $target=$length+time(); //只是为了检查我得到的值是否正确。 回声“持续时间:“.date('G:i:s',$length)。”; 回显
$length=strottime($duration);
$timestart=time();
$target=$length+time();
//只是为了检查我得到的值是否正确。
回声“持续时间:“.date('G:i:s',$length)。”
;
回显“当前时间:”.date('G:i:s',$timestart)。“
”;
回显“目标时间:”.date('G:i:s',$target)。“
”;
目前我得到了这个(不是增加6小时):
持续时间:6:00:00当前时间:15:51:44
目标时间:19:51:44
谁能给我解释一下吗
非常感谢,我对mySql不太熟悉,但也许你可以试试
$target = strtotime($length) + time();
strotime
将其转换为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();
Strotime正在里面传播一个日期,比如“今天下午6点”,而不是你想要的6个小时。最简单的方法就是跑步
time() + (6 * 3600);
其中6是小时,3600是每小时的秒数。如何将MySQL时间($duration)转换为秒?这应该可以。。。获取持续时间字符串的部分并将其转换为秒。这不应该是$duration_array[0]等吗?非常感谢!太棒了!我想问的问题是,为什么我这样做:
echo“持续时间:“.date('G:I:s',$length)。”
代码>结果是07:00:00吗?而不是06:00:00。再次感谢!因为date还需要一个unix时间戳。如果这样使用,$length
表示自1970年1月1日UTC 00:00:00以来的秒数。根据您的服务器设置,任何时间都可以显示。但我需要将MySQL时间转换为一种格式,以便添加它。我该怎么做?
time() + (6 * 3600);