Google 应用程序脚本:DateTimePicker 对象显示 UTC 时区的时间

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

在我们的 Gmail 插件中,我们使用 DateTimePicker 类。由于setTimeZoneOffsetInMins函数的文档,如果我们没有设置时区,日期选择器应该显示用户时区的时间。但是,当我们将初始日期插入小部件

widget.setValueInMsSinceEpoch(Date.now())
时,它会显示 UTC 时间而不是本地时间。检查谷歌日历 - 时区设置不是 UTC。 也许我们在这里遗漏了一些东西?

google-apps-script google-workspace
1个回答
0
投票

日期时间选择器显示当地时间

你的代码已经差不多了,你只需要方法

getTimeZoneOffset()
获取用户时区并添加 Class DateTimePicker Method
setTimeZoneOffsetInMins()
.


这是代码:

function createHomepageCard() {

  let userTimeZone = new Date().getTimezoneOffset()*-1

  let cardSection1DatePTimePicker1 = CardService.newDateTimePicker()
    .setFieldName('dateTime')
    .setTitle('Pick a date and time')
    .setValueInMsSinceEpoch(Date.now())
     // Set your Value here.
    .setTimeZoneOffsetInMins(userTimeZone)

  let cardSection1 = CardService.newCardSection()
    .addWidget(cardSection1DatePTimePicker1);


  let card = CardService.newCardBuilder()
    .addSection(cardSection1)
    .build();
  return card;
}

这是示例输出:

Sample Add-on Output


参考:

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