php - 如何在 php 中将 youtube 视频发布日期转换为 DD/MM/YY?

标签 php datetime youtube-api

我正在使用以下内容获取 YouTube 视频的发布日期:

$url = "http://gdata.youtube.com/feeds/api/videos/{$random_text}?v=2&alt=json";
$json = file_get_contents($url);
$json = str_replace('$', '_', $json);
$obj = json_decode($json);
$video_date = $obj->entry->published->_t;

以这种格式输出日期:

2012-10-18t13:04:42.000z

如何在 php 中将其转换为 DD/MM/YY 格式?

我已经在以下位置尝试了解决方案:

What time format is this and how do I convert it to a standardized dd/mm/yyyy date?

$video_date_pre = $obj->entry->published->_t;
// format the video date
$video_date = date_format($video_date_pre, 'd/m/Y');

但是我得到了错误:

警告:date_format() 要求参数 1 为 DateTime..

谢谢。

更新

可能需要注意原始来源看起来像这样(您可以在其中搜索“已发布”):

http://gdata.youtube.com/feeds/api/videos/eiAx2kqmUpQ?v=2&alt=json

最佳答案

试试这个:

$video_date = date('d/m/y', strtotime($video_date_pre));

在这个解决方案中,需要先将字符串转换成Unixtime,然后才能使用date()函数。

http://php.net/manual/en/function.strtotime.php

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

或者您可以使用 DateTime 对象:

$dateObject = new DateTime($video_date_pre);
$video_date = date_format($dateObject , 'd/m/y');

关于php - 如何在 php 中将 youtube 视频发布日期转换为 DD/MM/YY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13338124/

相关文章:

Php openSSL 加密 - 防止特殊字符

javascript - 将文本框的值放入另一个文本框

java - SimpleDateFormat - 解析日期时出现奇怪的结果

python - 将日期时间对象转换为整数 python

node.js - 当第一首歌曲流完成时如何修复 "Stream is not generating quickly enough"错误?

javascript - 为什么YouTube Player API循环无效?

php - Codeigniter 图片上传只会上传到一个目录

.net - 如何确保日期有效?

youtube - 如何使用 youtube api v3 从 youtube 视频获取直接链接

php - 最佳实践 : delivery of a wallpaper banner with OpenX