如何在Google App Script中获取当前时间的指定天数前日期
在Google Apps Script中获取指定天数前的格式化日期
嘿,这事儿其实挺简单的!你只需要在当前日期的基础上做个时间偏移,就能得到过去N天的日期,同时保持和原代码一样的时间格式。
核心思路
JavaScript的Date对象可以通过时间戳来计算偏移量——一天等于24*60*60*1000毫秒(也就是86400000毫秒)。我们只需要把当前时间的时间戳减去「天数×一天的毫秒数」,就能得到过去指定天数的时间点,再用你原来的格式化方法处理就行。
完整代码示例
// 你可以自由修改这里的数字,比如改成3就是3天前 const daysToSubtract = 8; // 计算过去N天的日期对象 const pastDate = new Date(new Date().getTime() - daysToSubtract * 24 * 60 * 60 * 1000); // 用你需要的GMT格式格式化日期 const formattedPastDate = Utilities.formatDate(pastDate, "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'"); // 打印结果,验证是否符合预期 Logger.log(formattedPastDate);
比如当原代码输出2021-09-18T22:17:00Z时,这段代码会输出2021-09-10T22:17:00Z,完美匹配你的需求。
封装成函数(方便重复调用)
如果你需要多次获取不同天数前的日期,可以把逻辑封装成一个函数:
function getFormattedPastDate(daysToSubtract) { const pastDate = new Date(new Date().getTime() - daysToSubtract * 24 * 60 * 60 * 1000); return Utilities.formatDate(pastDate, "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'"); } // 调用示例:获取8天前的日期 Logger.log(getFormattedPastDate(8)); // 调用示例:获取5天前的日期 Logger.log(getFormattedPastDate(5));
这样每次只需要传你想要的天数,就能直接拿到格式化好的结果啦!
内容的提问来源于stack exchange,提问作者john
相关产品推荐
相关产品推荐

