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

Adobe Acrobat DC日期拆分JavaScript脚本求助:实现输入日期拆分为日、月、年独立输出字段并排查语法错误

嘿,我帮你搞定这个Acrobat JS脚本的问题!先说说你原脚本里的语法错误,再给你完整的实现方案~

原脚本的问题排查

  • 拼写错误:你写的esle是笔误,正确的应该是else,这是触发语法错误的主要原因
  • 转义字符问题:脚本里的"是HTML的双引号转义符,在Acrobat的JavaScript环境里直接用普通双引号"就可以了
  • 功能不全:原脚本只处理了年份的输出,没覆盖拆分日、月到独立字段的需求

完整实现脚本

假设你的输入字段名为DateInput,三个输出字段分别是DayOutput(日)、MonthOutput(月)、YearOutput(年),把下面的脚本放到**DateInput字段的「自定义计算脚本」**里(这样用户输入日期后会自动触发拆分):

// 获取输入日期的字符串值
var beginDate = this.getField("DateInput").valueAsString;

// 先清空三个输出字段的内容
this.getField("DayOutput").value = "";
this.getField("MonthOutput").value = "";
this.getField("YearOutput").value = "";

// 如果输入为空,直接终止脚本
if (beginDate === "") {
    return;
}

try {
    // 按照输入日期的格式解析(这里假设输入格式是"mm dd, yyyy",比如"10 05, 2024")
    var oDateValue = util.scand("mm dd, yyyy", beginDate);
    
    // 拆分日期到对应字段
    this.getField("DayOutput").value = util.printd("dd", oDateValue); // 两位数字的日,比如05
    this.getField("MonthOutput").value = util.printd("mm", oDateValue); // 两位数字的月,比如10
    this.getField("YearOutput").value = util.printd("yyyy", oDateValue); // 四位数字的年,比如2024
} catch (error) {
    // 捕获格式错误,提示用户
    app.alert("请输入符合格式的日期(示例:10 05, 2024)");
}

注意事项

  • 如果你的输入日期格式不是mm dd, yyyy(比如是yyyy-mm-dd或dd/mm/yyyy),需要修改util.scand里的格式字符串,对应调整即可
  • 月份的输出格式可以自定义:如果要显示英文月份缩写(如Oct)用"mmm",全拼(如October)用"mmmm",保持数字就用"mm"
  • 加了try-catch块是为了避免用户输入无效日期导致脚本报错,提升体验

内容的提问来源于stack exchange,提问作者Kishore S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 11:47:36