【问题标题】:DateTime is one month off when formatting?格式化时,DateTime 休息一个月?
【发布时间】:2013-07-24 12:01:28
【问题描述】:

我遇到了这个问题,并认为我的服务器很疯狂,但是在测试之后 Codepad 我遇到了同样的结果。使用 Datetime 尝试后 处理我的日期戳我结束了我原来的日期一天零一个月 尝试格式化回字符串后?这里发生了什么疯狂的事情?

这是代码

echo $obj->attributes->timestamp; // output: Jun 25, 2013 11:43:52:875 AM

$date = New \DateTime();

$date->createFromFormat(
    'M j, Y h:i:s:B A',
    $obj->attributes->timestamp
);

echo $date->format('M j, Y'); // output: Jul 24, 2013 

【问题讨论】:

    标签: oop datetime php-5.4


    【解决方案1】:

    public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

    它是静态的并返回新的DateTime,但您使用的不是返回值,而是调用DateTime空构造函数创建的当前日期。

    来自PHP docs的例子,如何正确使用:

    <?php
    $date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
    echo $date->format('Y-m-d');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多