【问题标题】:php datetime format errorphp日期时间格式错误
【发布时间】:2014-09-13 16:49:05
【问题描述】:

我尝试将变量(8 位整数)转换为日期格式 这是我的代码:

$date = \DateTime::createFromFormat('Ymd', $data[1])->format('d-m-Y');

我收到此错误:

Fatal error: Call to a member function format() on a non-object

有什么帮助吗?

【问题讨论】:

  • 你的脚本没问题。您应该检查$data[1] 是否包含您所期望的内容。
  • data[1] 包含值 20010103。当我手动替换它时,它可以工作并显示 03-01-2001 !!!有什么想法吗?
  • var_dump($data[1]) 并向我们提供结果。
  • 另外,请在您设置 $data[1] 的位置显示代码。这很可能是问题所在,或者您稍后会在某个地方覆盖它。
  • 注释中的代码有点难以理解,因为它的格式不正确,但string(4) "DATE" 表明$data[1] 不包含格式正确的整数。您应该调试设置$date 的代码

标签: php datetime format


【解决方案1】:

$data[1] 没有有效数据:

if ($date = \DateTime::createFromFormat('Ymd', $data[1])) {
    echo $date->format('d-m-Y');
} else {
    echo "Input date '{$data[1]}' is invalid.";
}

【讨论】:

  • 谢谢,循环也采用第一行的字符串。那是我的错误。代码很好。谢谢大家
猜你喜欢
  • 2016-06-12
  • 1970-01-01
  • 2014-03-02
  • 2018-06-18
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 2013-12-16
  • 1970-01-01
相关资源
最近更新 更多