根据当前日期设置时间间隔对象(javascript)

时间:2017-11-10 21:20:45

标签: javascript api date datetime

所以我目前正在使用Google Calendar API,特别是freebusy查询(如https://developers.google.com/google-apps/calendar/v3/reference/freebusy/query所示)。

请求正文需要' timeMin'和' timeMax'。这是我的问题......

如何根据当前 datetime 动态设置这两个值。基本上使用当前的日期时间来设置间隔,比如说现在之前的一小时,以及之后的一小时。

我已经看过其他stackoverflow帖子(Subtracting hours from date string)关于如何通过getHours setHours,但这个方法的问题似乎是它改变了当前时间而不是创建一个新实例。

此外,我还需要以ISOstring格式(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)保留最终的最小和最大日期时间,因为这是Google Calendar API请求正文中使用的内容。

Chrome DevTools Console

1 个答案:

答案 0 :(得分:2)

我相信你正在寻找这样的东西:

var now = new Date();
var msNow = now.getTime();  //  total mil1iseconds since 1970/01/01
var timeMax = new Date(msNow + 60 * 60 * 1000); //  "now" plus one hour
var timeMin = new Date(msNow - 60 * 60 * 1000); //  "now" minus one hour
console.log(now);
console.log(timeMin);
console.log(timeMax);