我正在使用strtotime($my_time);
来创建我在php math中使用的时间戳。
变量$my_time
是从数据库中提取的HH:mm:ss
24h格式。
我正在设定时间,但我不知道正在制作的日期。出于这个原因,我试图设定一个固定的日期。我尝试了以下但是我在计算中得到了错误的结果。
strtotime('2007-12-21', $my_time);
strtotime( '+1 day', strtotime('2007-12-21', $my_time); //should produce 2007-12-21 00:00:00 ?
请帮助我了解如何在strtotime()
和动态时间设置固定日期?
注意:DateTime
类不是我正在使用的代码中的一个选项。
答案 0 :(得分:3)
strtotime将第二个值视为Unix时间戳格式的整数,如PHP Documentation上所示
也许您打算使用点而不是逗号,如下所示:
strtotime('2007-12-21 ' . $my_time);
strtotime( '+1 day', strtotime('2007-12-21 ' . $my_time);
答案 1 :(得分:2)
它可能只是一个空间问题。尝试:
strtotime( '+1 day', strtotime('2007-12-21 ' . $my_time);
仅供参考,如果$my_time
确实包含值00:00:00
,那么您可以安全地从strtotime()
中省略它。它没有它就可以工作。
答案 2 :(得分:2)
您应该将字符串连接成一个参数,而不是提供两个参数。
strtotime('1970-01-01 ' . $my_time);
我还将日期改为1970-01-01作为日期,因为这是UNIX时间戳开始的时候,只有几秒才能使用。以这种方式排除故障可能更容易,因为您可以一眼看出一个数字是否大于另一个数字,您还可以轻松发现诸如> 86400等故障。