【问题标题】:How to set and get dates in google script?如何在谷歌脚本中设置和获取日期?
【发布时间】:2019-09-25 15:23:59
【问题描述】:

在 javascript 中,我们通常会这样做 var date = new Date() 如果以后要增加比较 var newDate = date.setSeconds(1000) 现在我们可以比较 date 与否

我正在编写一个 gmail 插件,因为我需要使用类似的东西。如何在谷歌脚本中做到这一点。

我试图在 google 脚本文档中找到它,但我找不到它。 有人可以帮我解决这个问题吗?

【问题讨论】:

标签: javascript google-apps-script google-workspace


【解决方案1】:

Apps 脚本仍然使用 JavaScript new Date() 定义日期,但当您使用 date.setSeconds(1000) 时,日期会转换为 Unix 时间。 Google 以毫秒为单位使用 Unix 时间。

调用date.setSeconds() 即使在内部调用它也会更改变量日期 newDate = date.setSeconds(1000)

您可以通过以下方式解决此问题:

function myFunction() {
  var date = new Date()
  var newDate = new Date(unixTimeConverter(date).setSeconds(1000));
}

function unixTimeConverter(n) {
  return new Date(n);
}

【讨论】:

  • 感谢您的解决方案。它正在工作。但是如果我比较 date 和 newDate 总是假的。怎么能在这里比较这两者?
  • 你如何比较它们?如果您使用 Logger.log(date < newDate); 记录原始问题的比较,它应该返回 true:imgur.com/TvW2Pez
  • ``` function myFunction() { var eventDetails = PropertiesService.getUserProperties(); var curr_date = 新日期(); var newDate = new Date(unixTimeConverter(curr_date).setSeconds(36640)); eventDetails.setProperty("timeStamp", newDate); var timeStamp = eventDetails.getProperty("timeStamp"); Logger.log(curr_date
  • getProperty() method 返回一个字符串,因此object < string 类型的比较将返回 false。你可以用curr_date < new Date(timeStamp)修复。
猜你喜欢
  • 2015-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多