我有一个代表日期的数字列表。这些数字按升序顺序排列。对于每个数字,我首先将其转换为 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);
}
最佳答案
问题是这一行:
var dateUTC = Date.UTC(d.getFullYear(), d.getMonth(), d.getDay());
getDay()
为您提供星期几,而不是一个月中的某一天。您需要 getDate()
。
关于javascript - 在 JavaScript 中将日期转换为 UTC 日期的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30857692/