我有一个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/d h:i')
创建包含小时和分钟的日期字符串,则会获得2017/03/23 12:00
修改
我date_default_timezone_get()
的输出为UTC
date('Y-m-d')
提供2017-03-24
即今天的日期
答案 0 :(得分:0)
在PHP中查看default time zone set 您可能想尝试设置默认时区示例:date_default_timezone_set(' America / Toronto');