繁体   English   中英

PHP datetime format()日期不正确

[英]PHP datetime format() incorrect date

我有一个PHP datetime对象,我一直试图用DateTime :: format()转换为字符串。 但这总是给我一个错误的约会。 由于某种原因,无论我给该日期赋予什么值,我都会得到一个比我运行代码的日期早一天的日期。 我的DateTime对象-

object(DateTime) {
   date => '2017-03-25 00:00:00'
   timezone_type => (int) 3
   timezone => 'UTC'
}

我用它来将DateTime格式化为字符串-

$myDateObject->format('Y/m/d')

给我 -

2017/03/23

在打印DateTime对象的行和格式化对象的行之间绝对没有代码,即在该对象上没有进行修改。

如果它有助于服务器date -u的输出,则返回Fri Mar 24 06:08:39 UTC 2017 另外,如果我使用$myDateObject->format('Y/m/dh:i')用小时和分钟创建日期字符串, $myDateObject->format('Y/m/dh:i')得到2017/03/23 12:00

编辑

我的date_default_timezone_get()的输出是UTC

date('Ym-d')给出2017-03-24即今天的日期

查看PHP中设置的默认时区
您可能想尝试设置默认时区示例:date_default_timezone_set('America / Toronto');

暂无
暂无

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

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