繁体   English   中英

strtotime('今天')返回错误的时间?

[英]strtotime('today') returning incorrect time?

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

这就是我正在做的事情:

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

这是我的结果:

1333144800

这是:星期五,2012年3月30日22:00:00 GMT根据Epoch转换器(错误几个小时。)

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

$today = strtotime('today UTC');

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小时/夏令时和冬令时)。

strtotime( $time )

被设计为返回一个UNIX timetamp,这意味着,它会返回自1月1日的秒数,1970 http://www.php.net/manual/en/function.strtotime.php

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

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

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

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

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

date.timezone = America/El_Salvador

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM