首页 > 解决方案 > new Date() 与 Utilities.formatDate(new Date())

问题描述

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

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"

标签: javascriptdategoogle-apps-scriptformatutilities

解决方案


这只是一个简单的格式问题。 看这里

这个: 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 设置为小写字母,就可以了。


推荐阅读