【问题标题】:new Date() vs. Utilities.formatDate(new Date()) [duplicate]new Date() 与 Utilities.formatDate(new Date()) [重复]
【发布时间】:2021-04-09 01:04:51
【问题描述】:

谁能告诉我为什么这段代码会产生两个不同的日期?

let now = new Date();  // today's date (1/2/2021)
Logger.log(now);       // Sat Jan 02 09:42:47 GMT-08:00 2021
Logger.log(new Date(now.getTime()-(2*1000*60*60*24)));   // Thu Dec 31 09:42:47 GMT-08:00 2020
Logger.log(Utilities.formatDate(new Date(now.getTime()-(2*1000*60*60*24)), "GMT-8", "MM/d/YYYY"));  // 12/31/2021

为什么Utilities.formateDate() 会将日期从 12/31/2020 更改为 12/31/2021?

*********解决方案*********

将日期格式从"MM/d/YYYY" 更改为"MM/d/yyyy"。

【问题讨论】:

  • 什么是Utilities? PS:啊,似乎是一个谷歌应用脚​​本专用工具。我添加了该标签以澄清。
  • 这可能会有所帮助:stackoverflow.com/questions/28956532/…
  • 检查this的答案。
  • 是的,Utilities.formatDate() 是一个谷歌应用脚​​本工具。很好,感谢您添加标签。
  • ... 另外,将格式从"MM/d/YYYY" 更改为"MM/d/yyyy" 解决了这个问题。非常感谢大家!

标签: javascript date google-apps-script format utilities


【解决方案1】:

这只是一个简单的格式问题。 Look here

这个: Logger.log(Utilities.formatDate(new Date(now.getTime()-(2*1000*60*60*24)), "GMT-8", "MM/d/YYYY"));

应该是这样的:

Logger.log(Utilities.formatDate(new Date(now.getTime()-(2*1000*60*60*24)), "GMT-8", "MM/d/yyyy"));

换句话说,只需将大写 Y 的小写 y's 设置为小写即可。

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 2014-11-26
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 2018-01-09
    • 1970-01-01
    • 2022-06-17
    相关资源
    最近更新 更多