[英]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())以正确显示网站的日期
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.