如何解析YouTube返回日期到时间戳?
问题描述:
的YouTube返回如下Updated date
和Submitted on
日期:2010-08-22T04:46:18.000Z
如何解析YouTube返回日期到时间戳?
是否有一个PHP函数,或解析这个日期面具?
答
<?php
$ts = strtotime("2010-08-22T04:46:18.000Z");
echo date("Y-m-d H:i:s", $ts);
?>
这会在我的系统上返回2010-08-22 09:46:18
。您看到,日期的时间部分包含时区信息(Z为祖鲁时间),因此google数据api返回的日期为Aug/22/2010 04:46:18 GMT
。我的电脑在格林威治标准时间5点,因此时间部分在当地时间被翻译为09:46:18
。希望这解释了一切。
答
听起来像strtotime是你在找什么。
编辑:如果这不起作用,看看在Date and Time classes - 有在指定的格式解析日期(like this方法 - 它并不直接返回一个时间戳,但如果你构建从这个日期时间,你可以使用它的getTimestamp - 方法)
答
试试这个:
$date=substr("2010-08-22T04:46:18.000z",0,strlen("2010-08-22T04:46:18.000z")-1);
$stamp=strtotime($date);
的“Z”的结尾似乎是的strtotime的问题。
strtotime不会为此日期格式返回正确的时间戳! – 2010-12-15 09:32:32
@doublethink:请看看我的编辑 – oezi 2010-12-15 09:42:37
strtotime应该能够解析这个日期。见http://www.php.net/manual/en/datetime.formats.compound.php,部分本地化符号> SOAP – 2010-12-15 09:52:25