JavaScript / YouTube和vimeo API -协调日期格式和排序
JavaScript / YouTube and vimeo API - reconciling date formats and sorting
我正在构建一个网页,从YouTube和Vimeo中提取视频,为它们创建缩略图,然后按日期对缩略图进行排序。我目前正在查询vVimeo专辑API端点和YouTube数据API -两者都以略有不同的方式返回视频日期。
YouTube日期:2012-12-20T08:00:40.000Z
VIMEO日期:2013-01-02 13:33:51
我的问题是,我如何把这两种不同的格式变成一个单一的格式,我可以用JavaScript/jQuery排序?我假定,如果我设法去掉破折号、空格和冒号,就去掉&;t&;和";z"在YouTube日期,我将有一个实际的数字,可以排序-但它似乎有点乱,我希望有一个更好的方式来格式化这些。有人有什么想法吗?
我会将日期转换为Javascript Date对象,然后从实例中获取getTime()来对其排序。
让我们做一个例子:
var dates = [];
dates.push(new Date('2013-01-02 13:33:51'));
dates.push(new Date('2012-12-20T08:00:40.000Z'));
现在您有一个包含2个日期的数组要排序。让我们开始吧!
function sortByDate(a, b) {
return a.getTime() - b.getTime();
}
dates.sort(sortByDate);
如果你想要一个后代排序,只需反转a和b:
function sortByDate(a, b) {
return b.getTime() - a.getTime();
}
在你可以检查你的数组排序做一个console.log(dates)
。
对于问题的答案,您只需要将日期字符串转换为date对象,然后您将能够与sort进行比较。
Internet Explorer出现问题,检查这个:
- Javascript日期在IE nan, Firefox和Chrome ok IE 7中Javascript Date函数返回NaN的问题
更新:
然而,如果你打算有任何浏览器的兼容性,你可以使用先进的浏览器日期转换器,像这个项目:
将日期解析为自1970年1月1日以来的毫秒数。
相关文章:
- 比较从函数和生成的日期对象
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在JavaScript中延长当前日期
- 两位数的月份日期验证
- 更改angularjs中的日期-时间格式
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 使用当前日期生成随机id
- primefaces日历可以禁用过去的日期和时间吗
- 提前阅读日期
- 在JavaScript中拆分日期字符串的更好方法是什么
- 查找最短和最长日期
- 将日期和时间转换为UTC格式的日期-Javascript
- jquery日期选择器年份范围默认值
- jquery日期选择器失去了交互性
- JavaScript / YouTube和vimeo API -协调日期格式和排序