从JavaScriptDate对象中提取日期字符串,而不应用时区

Extracting date strings from the JavaScript Date object without timezones being applied

本文关键字:应用 时区 字符串 取日期 JavaScriptDate 对象 提取      更新时间:2023-09-26

我想直接转换日期字符串,但无法获得预期的结果。我希望下面的代码生成一个与原始字符串的日期部分相等的日期,但它似乎在实例创建过程中应用了一个时间。

var usageTime = new Date('2012-01-19T22:59:50-0800');
console.log(usageTime);  // Fri, 20 Jan 2012 06:59:50 GMT
dayOfUsage = usageTime.getFullYear()+'-'+(usageTime.getMonth()+1)+'-'+usageTime.getDate();
console.log(dayOfUsage);  // 2012-1-20

我预计日期是2012-1-19。解决这个问题的正确方法是什么?

您应该使用getUTC*()函数(getUTCDate()getUTCHours()等)来获取不带时区偏移的时间。