【问题标题】:set a time interval based on current date Object (javascript)根据当前日期对象设置时间间隔(javascript)
【发布时间】:2018-04-24 04:26:52
【问题描述】:

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

请求正文需要“timeMin”和“timeMax”。我的问题来了……

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

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

我还需要以 ISOstring 格式 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) 保存生成的最小值和最大值 datetimes,因为这是在 Google Calendar API 请求正文中使用的。

【问题讨论】:

    标签: javascript api date datetime


    【解决方案1】:

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

    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);
    

    【讨论】:

    • 非常有趣,感谢闪电般的快速反应哇!我没有为最小值和最大值创建新的 Date 对象,这就是我覆盖当前时间的原因。感谢 Oleksandr 如此简单地澄清。
    猜你喜欢
    • 2020-07-10
    • 2021-11-16
    • 2023-04-08
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多