当我尝试使用其他日期格式创建日期对象时,结果日期正在更改其值。如何在不改变日期值的情况下实现这一目标?
new Date("Mon, 31 Oct 2016 00:00:00 GMT");
结果将于2016年10月30日20:00:00 GMT-0400(东部夏令时间),如何从上面获得星期一31日期?
答案 0 :(得分:1)
从创建的日期对象中调整 timezoneOffset 应该可以解决问题, 但在使用它时要小心,因为你应该确保日期对象是从GMT创建的,而不是从当地时间开始。
如果输入日期为格林威治标准时
,则会发布以下答案var tempDate = new Date("Mon, 31 Oct 2016 00:00:00 GMT");
var tempTime = tempDate.getTime() + (tempDate.getTimezoneOffset() * 60000);
tempDate = new Date(tempTime);
console.log(tempDate);
答案 1 :(得分:0)
它不会更改日期,只会将其转换为您当地的时区。这有点烦人的行为,我知道解决它的唯一方法是将您的系统时区设置为GMT。如果你需要做日期和时间工作,你可能想看一下Moment.js - http://momentjs.com/