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

如何在Google Apps Script中获取前一天日期用于生成邮件主题?

解决方法

你需要先基于当前日期计算得到前一天的日期对象,再按原有格式进行格式化即可,Date对象自带的setDate()方法会自动处理跨月、跨年的边界情况,不需要手动处理月份/年份的换算逻辑。

核心日期获取代码修改

把原来的单行日期获取代码替换为以下内容:

// 获取当前日期
const currentDate = new Date();
// 构造前一天的日期对象
const yesterday = new Date(currentDate);
yesterday.setDate(currentDate.getDate() - 1);
// 格式化前一天的日期
var formattedYesterday = Utilities.formatDate(yesterday, Session.getScriptTimeZone(), "dd-MMMM");

完整修改后的业务代码

已同步调整主题为你要求的拼接格式:

function sendFormEmail() {
    var toEmailAddress = "1@mailinator.com";
    // 计算并格式化前一天日期
    const currentDate = new Date();
    const yesterday = new Date(currentDate);
    yesterday.setDate(currentDate.getDate() - 1);
    const formattedYesterday = Utilities.formatDate(yesterday, Session.getScriptTimeZone(), "dd-MMMM");
    var htmlMessage = HtmlService.createHtmlOutputFromFile("Habit tracker form.html").getContent();
    // 拼接要求的邮件主题
    var subject = `Your daily habit tracker ${formattedYesterday}`;
    var message = "Some message";
    Logger.log(formattedYesterday);
    // 取消注释即可发送邮件
    // MailApp.sendEmail(toEmailAddress, subject, message, {
    //   name: 'Future Mac',
    //   htmlBody: htmlMessage
    // });
}

内容的提问来源于stack exchange,提问作者Mac Smac

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:51:04