【问题标题】:Apps Script - Formatting the current date for timestampApps 脚本 - 将当前日期格式化为时间戳
【发布时间】:2018-04-06 16:00:18
【问题描述】:

我希望将当前日期格式化为“yyyy/MM/dd HH:mm”。 formatDate 允许我格式化日期,但我需要根据以下内容指定时区:

Utilities.formatDate(new Date(), "GMT", "yyyy/MM/dd HH:mm")

这几乎是我想要的,但我希望结果是 BST 或 GMT,以适合日历。我应该指定哪个时区才能在不进一步操作文本日期的情况下获得答案? (我确实有一个笨拙的解决方法)。这个问题让我发现了一个定时批处理过程,该过程在我们最近的 BST 时钟更改后在午夜运行,其中应用了前一天 23:00 的时间戳。

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    在您的脚本属性中,确保您选择了正确的时区。然后,在您的脚本中,不要使用“GMT”,而是使用Session.getScriptTimeZone()

    function test() {
      var date1 = new Date("March 10, 2018 10:00");
      var date2 = new Date("March 11, 2018 10:00");
      Logger.log(date1); // Sat Mar 10 10:00:00 GMT-05:00 2018
      Logger.log(Utilities.formatDate(date1, Session.getScriptTimeZone(), "yyyy/MM/dd HH:mm")); // 2018/03/10 10:00
      Logger.log(date2); // Sun Mar 11 10:00:00 GMT-04:00 2018
      Logger.log(Utilities.formatDate(date2, Session.getScriptTimeZone(), "yyyy/MM/dd HH:mm")); // 2018/03/11 10:00
    } 
    

    在脚本编辑器中,转到文件 > 项目属性并设置 您的 时区。 (我用的是东部时间。)

    【讨论】:

      猜你喜欢
      • 2018-06-15
      • 1970-01-01
      • 1970-01-01
      • 2021-04-14
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      相关资源
      最近更新 更多