2

strtotime($my_time);用来创建我在 php 数学中使用的时间戳。

该变量$my_time采用HH:mm:ss从数据库中提取的 24 小时格式。

我正在设置时间,但我不知道正在制作什么日期。出于这个原因,我试图设置一个固定的日期。我尝试了以下方法,但我的计算结果错误。

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该类不是我正在使用的代码中的选项。

4

3 回答 3

3

strtotime 将 Unix 时间戳格式的整数视为第二个值,如PHP 文档中所示

也许您打算使用点而不是逗号,如下所示:

strtotime('2007-12-21 ' . $my_time);

strtotime( '+1 day', strtotime('2007-12-21 ' . $my_time);
于 2012-06-17T19:28:53.463 回答
2

这可能只是空间问题。尝试:

strtotime( '+1 day', strtotime('2007-12-21 ' . $my_time);

仅供参考,如果$my_time确实包含一个值,00:00:00那么您可以安全地从strtotime(). 没有它它也能工作。

于 2012-06-17T19:24:53.867 回答
2

您应该将字符串连接成一个参数,而不是提供两个参数。

strtotime('1970-01-01 ' . $my_time);

我还切换到 1970-01-01 作为日期,因为那是 UNIX 时间戳开始的时间,它只给你几秒钟的时间。以这种方式进行故障排除可能更容易,因为您可以一眼看出一个数字是否大于另一个数字,您还可以轻松发现 >86400 等故障。

于 2012-06-17T19:26:00.513 回答