作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试格式化从 google plus Api 传递的日期,就像指南在 RFC 3339 格式中所说的那样:
PUBLISHED-> datetime-> The time at which this activity was initially published. Formatted as an RFC 3339 timestamp.
所以通过 php 文档我发现:
DATE_RFC3339 Same as DATE_ATOM (since PHP 5.1.3)
这两种格式都是这样的:
"Y-m-d\TH:i:sP"
实际上 Google api 的输出是这样的:
2014-01-22T10:36:00.222Z
当我尝试启动如下命令时:
$date = DateTime::createFromFormat("Y-m-d\TH:i:sP", $activity['published']); //$activity['published'] contain the date
我总是返回 FALSE
。我认为问题出在最后一部分
.222Z
在通过一些基本方法削减它之前,我们将不胜感激任何建议......
最佳答案
您不需要为标准输入使用 DateTime::createFromFormat()
。只需使用:
$date = new DateTime('2014-01-22T10:36:00.222Z');
var_dump($date);
但是如果你还是坚持使用createFromFormat(),那就使用正确的格式,以微秒为单位:
$date = DateTime::createFromFormat('Y-m-d\TH:i:s.uP', '2014-01-22T10:36:00.222Z');
var_dump($date);
关于php - RFC 3339 如何从,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21383088/
我是一名优秀的程序员,十分优秀!