Google Calendar Date String to JS Date Object

问题描述 投票:0回答:1

我目前正在使用Google Calendar API,并且返回以下字符串的日期:

"2020-04-26T05:30:00+02:00" 

(时区“欧洲/柏林”)

我想以这种格式存储此日期:

YYYY-MM-DDTHH:mm:ssZ 

所以是js中的通用日期格式。

但是每当我尝试将大写日期另存为JS Date对象时,它都会减去我的时区并像这样存储它:

 "2020-04-26T03:30:00.000Z"

是否有方法可以忽略时区,并将Date对象保留在语言环境中,就像这样:

 "2020-04-26T05:30:00.000Z"

我用moment.js尝试了几件事,但对我没有用。

javascript node.js google-api google-calendar-api
1个回答
0
投票

答案:

您可以将字符串转换为Date对象,并通过减去偏移量在本地时区中创建新的字符串对象。

代码:

var response = "2020-04-26T05:30:00+02:00";
var responseDate = new Date(response);
var dateObj = new Date(responseDate.getTime()
                       - new Date().getTimezoneOffset() * 60 * 1000).toISOString();

希望对您有帮助!

参考:

© www.soinside.com 2019 - 2024. All rights reserved.