我有一个代表日期的数字列表。这些数字按升序顺序排列。对于每个数字,我首先将其转换为JavaScript Date对象,然后从Date对象转换为UTC日期。问题是UTC日期不按顺序排序(查看控制台日志,468028800000小于468547200000)。这段代码出了什么问题?
var dates = [
469342800000, 469429200000, 469515600000,
469602000000, 469688400000, 469774800000
];
for (var i = 0; i < dates.length; i++) {
var d = new Date(dates[i]);
var dateUTC = Date.UTC(d.getFullYear(), d.getMonth(), d.getDay());
console.log(dates[i], d, dateUTC);
}
答案 0 :(得分:4)
问题在于这一行:
var dateUTC = Date.UTC(d.getFullYear(), d.getMonth(), d.getDay());
getDay()
为您提供一周中的某一天,而不是该月的某一天。你想要getDate()
。