为什么我的strtotime(“今天”)不起作用?

时间:2012-03-31 16:22:01

标签: php unix strtotime

我正在尝试从用户的当前日期开始创建一个选择列表。我希望它能以unix时间戳格式设置为午夜。

这就是我所做的一切:

$today = strtotime('today');
echo $today;

这是我的结果:

1333144800

这是:星期五,2012年3月30日22:00:00 GMT根据Epoch转换器

5 个答案:

答案 0 :(得分:21)

如果您希望strtotime()返回相对于UTC的时间戳(00:00:00 UTC而不是例如00:00:00 UTC + 2,如果您的系统设置为时区偏移2小时UTC / GMT),您需要指定:

$today = strtotime('today UTC');

答案 1 :(得分:6)

GMT(+0)时间

echo $today = strtotime('today GMT');
echo "<br>" . $today = date("d-m-Y H:i:s", $today);

我们希望您的服务器以GMT运行 - 这是最好的(以后随时间显示机动)。如果没有,你必须调整php.ini设置这个“date.timezone = GMT”。

完成后,您将看到我的代码00:00。

然后,您必须在脚本中开发函数(即DisplayDate())以正确显示您网站的日期

  • 你不在GMT区域
  • 或/和如果您希望您的用户在时区中查看时区选项,例如。

DisplayDate()也应包括对日光变化的支持(0或+1小时/夏令时和冬令时)。

答案 2 :(得分:2)

strtotime( $time )

旨在返回一个unix时间戳,这意味着它将返回自1970年1月1日以来的秒数。http://www.php.net/manual/en/function.strtotime.php

要解决此问题,请使用以下内容:

$today = date("d/m/Y H:i:s", strtotime('today'));
echo $today;

答案 3 :(得分:0)

您应该检查php.ini文件中的时区配置。在我的情况下(我住在萨尔瓦多)我不得不改变它:

date.timezone = America/El_Salvador

答案 4 :(得分:0)

您可能需要专门设置时间和日期:

$today_midnight = strtotime('today UTC 00:00');