将 unix 时间戳转换为 moment js 在 chrome 中无法正常工作
conversion for unix timestamp to moment js not working properly in chrome
此代码:
let obj = moment.unix(1459382400).utc();
在 Firefox 54 中工作正常,但在 Chrome 59.0.3071.109 中无效。在 Firefox 中 returns Date 2016-03-31T00:00:00.000Z 这是正确的日期,但在 Chrome 中 returns Wed Mar 30 2016 20:00:00 GMT-0400 (CDT) 这是正确日期的前一天。
我一直在寻找解决方案,但没有成功。 1459382400 unix 时间戳没有时间,但在 chrome 中有。
我错过了什么
function setTimezone(moment, timezone) {
var a = moment.toArray(); // year,month,date,hours,minutes,seconds as an array
moment = moment.tz(timezone);
moment.year(a[0])
.month(a[1])
.date(a[2])
.hours(a[3])
.minutes(a[4])
.seconds(a[5])
.milliseconds(a[6]);
return moment; // for chaining
};
var m = setTimezone(moment('2014-03-10T10:00'), "America/New_York");
console.log(m.format())
使用这个功能
使用前,考虑更新moment。最新版本已修复此问题
此代码:
let obj = moment.unix(1459382400).utc();
在 Firefox 54 中工作正常,但在 Chrome 59.0.3071.109 中无效。在 Firefox 中 returns Date 2016-03-31T00:00:00.000Z 这是正确的日期,但在 Chrome 中 returns Wed Mar 30 2016 20:00:00 GMT-0400 (CDT) 这是正确日期的前一天。
我一直在寻找解决方案,但没有成功。 1459382400 unix 时间戳没有时间,但在 chrome 中有。
我错过了什么
function setTimezone(moment, timezone) {
var a = moment.toArray(); // year,month,date,hours,minutes,seconds as an array
moment = moment.tz(timezone);
moment.year(a[0])
.month(a[1])
.date(a[2])
.hours(a[3])
.minutes(a[4])
.seconds(a[5])
.milliseconds(a[6]);
return moment; // for chaining
};
var m = setTimezone(moment('2014-03-10T10:00'), "America/New_York");
console.log(m.format())
使用这个功能
使用前,考虑更新moment。最新版本已修复此问题