You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 13:27:27