gpt4 book ai didi

javascript - 将字符串转换为日期

转载 作者:行者123 更新时间:2023-11-30 08:05:25 26 4
gpt4 key购买 nike

我有以下脚本,它连接 2 个提要并将它们显示在屏幕上

$.when( //get feed 1, //get feed 2 ).done(function(a1, a2){

var data = a1[0]response.Data.feed.entries.concat(a2[0].responseData.feed.entries);

var sorted = data.sort(function(a, b) {
if(a.publishedDate > b.publishedDate) {
return 1
}
if(a.publishedDate < b.publishedDate) {
return -1
}
return 0
});

for( i = o; i <= sorted.length - 1; i++ ) {
document.write(sorted[i].title);
document.write(sorted[i].publishedDate);
}

});

这将返回所有行,但不会对行进行排序。排序似乎完全随机。我假设这是因为日期在 JSON 数据中的格式如下:

Mon, 23 Sep 2013 04:37:45 -0700
  1. -0700 是什么意思
  2. 如何将该日期字符串转换为正确的日期对象,以便对结果进行正确排序?

最佳答案

  1. -0700 表示 UTC 偏移 UTC-07:00
  2. 我强烈建议您使用 Moment.js处理日期和时间、格式和转换的库,使您的“日期和时间 JavaScript 生活”变得轻松有趣。

作为Alnitak表示此特定格式被 Date.parse 接受,因此如果您使用其中一种接受的格式,您可以只使用 native JavaScript 进行排序。

var dateStrings,
sortDates;

dateStrings = [
'Mon, 23 Sep 2013 04:37:45 -0700',
'Sun, 22 Sep 2013 05:27:32 +0300',
'Mon, 23 Sep 2013 03:14:17 -0700'
];

sortDates = function(dateStrings) {
return dateStrings.sort(function(a, b) {
return new Date(a) - new Date(b);
});
};

console.log(sortDates(dateStrings));

Fiddle

您的代码片段中的变量 sorted 可以通过这种方式正确检索:

var sorted = data.sort(function(a, b) {
return new Date(a.publishedDate) - new Date(b.publishedDate);
});

关于javascript - 将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18961969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com