【问题标题】:Google App Script - how to set date with timezone in AdminReports.UserUsageReport.get()Google App Script - 如何在 AdminReports.UserUsageReport.get() 中使用时区设置日期
【发布时间】:2021-09-16 10:08:55
【问题描述】:

我正在使用 Apps 脚本并尝试从 AdminReports.UserUsageReport.get('all', 'the date') 中提取数据(以获取课堂上一次互动的时间戳),但它总是带有另一天的记录。例如,如果我从 5 日提取,则报告将 6 日合并,直到早上 7 点。

日期参数是一个字符串,在documentation 中表示如下:

表示使用发生的日期。时间戳在 ISO 中 8601 格式,yyyy-mm-dd。我们建议您使用您帐户的时区 为此。

但是如果参数是yyyy-mm-dd格式的字符串,我要如何传递正确时区的日期呢?

此代码无效:

var myDate = new Date(2021,5,5);
var timezone = Session.getScriptTimeZone();
var date = Utilities.formatDate(myDate, timezone, 'yyyy-MM-dd');

var page = AdminReports.UserUsageReport.get('all', date);

如何正确使用日期?

非常感谢。

【问题讨论】:

  • 报告日期是UTC吗?
  • 我是这么认为的,不知道如何根据地区来改变。

标签: date timezone report


【解决方案1】:

如果报告日期是 UTC,则可以首先使用将每个日期转换为 JavaScript Date 对象

var myDate = new Date('report_date_string');

您的代码的后两行看起来应该正确地将日期转换和格式化为您当地时区的字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    相关资源
    最近更新 更多