【问题标题】:How to convert datetime to "yyyy-MM-dd'T'HH:mm:ss.SSSZ" in PHP [duplicate]如何在 PHP 中将日期时间转换为“yyyy-MM-dd'T'HH:mm:ss.SSSZ” [重复]
【发布时间】:2014-06-27 02:38:31
【问题描述】:

我需要将数据日期时间发送到 API。但我不会转换为下面相同的日期时间格式

  "created_at": "2014-05-28T21: 38: 51.720986+11: 00",
  "date_of_birth": "1994-05-28T00: 00: 00+11: 00",

请帮助我。在 PHP 语言上转换

【问题讨论】:

标签: php datetime


【解决方案1】:

@DanielW cmets,使用

对于未来的读者,这里是工作格式:Y-m-d\TH:i:s.vO (时区不带冒号) 和 Y-m-d\TH:i:s.vP (带冒号 时区)。

使用

date('Y-m-d H:i:s.uZ', strtotime($created_at_input)); // yyyy-MM-dd'T'HH:mm:ss.SSSZ
date('c', strtotime($date_of_birth_input)); // yyyy-MM-ddTHH:mm:ss+00:00

例如:

echo date('Y-m-d\TH:i:s.vO', strtotime('2011-02-01 00:00:00')); // 2011-02-01T00:00:00.000+0000
echo date('Y-m-d\TH:i:s.vP', strtotime('2011-02-01 00:00:00')); // 2011-02-01T00:00:00.000+00:00
echo date('Y-m-d H:i:s.uP', strtotime('2011-02-01 00:00:00')); // 2011-02-01 00:00:00.000000+05:30

echo date(DATE_ATOM, strtotime('2011-02-01 00:00:00')); // 2011-02-01T00:00:00+05:30

echo date('c', strtotime('2011-02-01 00:00:00')); // 2011-02-01T00:00:00+05:30

试试

使用date('c', strtotime($date_of_birth_input));

例如:

echo date('c', strtotime('2011-02-01 00:00:00')); //ouput: 2011-02-01T00:00:00+00:00 

见http://www.php.net/manual/en/function.date.php

【讨论】:

  • 此格式与有问题的格式不同:您缺少毫秒。从 Google 得到这个答案令人失望。
  • @DanielW。感谢您指出我的错误
  • 还是错了。对于未来的读者,这里是工作格式:Y-m-d\TH:i:s.vO(时区不带冒号)和Y-m-d\TH:i:s.vP(时区带冒号)。
  • 如何转换成以下格式 2015-10-17T00:00:00.000Z
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 2013-10-19
  • 2013-05-01
相关资源
最近更新 更多