在Javascript中解析Youtube API日期
Parsing a Youtube API Date in Javascript
Youtube的API返回一个带有视频数组的JSON对象。每个视频对象都有一个发布日期,格式类似"2012-01-11T20:49:59.415Z"。如果我使用下面的代码初始化Javascript date对象,该对象将返回"无效日期"。
var dt = new Date( "2012-01-11T20:49:59.415Z" );
我在iOS/移动Safari上使用这个,如果有区别的话。
关于如何创建有效对象,有什么建议或想法吗?
尝试使用JavaScript的Date.parse(string)
和Date
构造函数,后者从epoch开始占用毫秒数。"parse"函数应在任何浏览器上接受有效的ISO8601日期。
例如:
var d = new Date(Date.parse("2012-01-11T20:49:59.415Z"));
d.toString(); // => Wed Jan 11 2012 15:49:59 GMT-0500 (EST)
d.getTime(); // => 1326314999415
var dt = "2012-01-11T20:49:59.415Z".replace("T"," ").replace(/'..+/g,"")
dt = new Date( dt );
我最终在http://zetafleet.com/blog/javascript-dateparse-for-iso-8601.日期的格式似乎是"ISO 8601"。在早期的浏览器(Safari 4、Chrome 4、IE 6-8)上,不支持ISO 8601,因此date.parse不起作用。链接博客文章中引用的代码扩展了当前Date类以支持ISO8601。
如果你只需要日期的一部分(例如,如果你不在乎时间或时区),你可以去掉日期字符串的那部分。
此页面包含将youtube(ISO 8601)日期解析为日期对象的代码:
http://webcloud.se/log/JavaScript-and-ISO-8601/
Archive.org备份相同
它对我有效,尽管我还没有测试过很多。
相关文章:
- internet explorer 8兼容模式下的Youtube api错误
- 如何修改此功能以获得最受欢迎的视频?(YouTube API v3)
- YouTube API v3哈希标签搜索错误结果
- Youtube API - 某些视频卡在未启动 (-1) 状态
- Youtube API,除声音控件外,不允许控件
- 无法找到在 YouTube API 中转义 json 中的引号的方法
- 噩梦与YouTube API和播放视频工作
- YouTube API-动态添加事件侦听器
- Codecademy代码在他们的网站上连接到Youtube API,但赢得了't在本地运行
- 检测YouTube API中的事件源
- YouTube API密钥安全-我应该有多担心
- Youtube API:查看当前正在播放哪个视频id
- youtube API播放视频、pauseVideo和stopVideo不工作
- 相关视频与部分内容详细信息和统计-Youtube API V3
- 我的搜索栏与YouTube API不同步
- 删除YouTube API标题标签开头的前24个字符
- Youtube API - 检索频道中的所有标签
- 暂停YouTube视频,youtube api
- Youtube API 未在 Firefox 中加载
- 阻止 YouTube API 在 PhoneGap Android 上全屏显示