gpt4 book ai didi

javascript - 使用 getTime 通过 If Else 语句计算多个日期

转载 作者:行者123 更新时间:2023-11-30 14:31:11 25 4
gpt4 key购买 nike

我正在 Adob​​e Acrobat DC 中处理可填写的 PDF 表单,并且是 JavaScript 的新手。我需要在 2018 年 9 月 21 日之前将值(value)设为 100 美元,然后从 9/22 到 10/19 为 125 美元,然后从 10/20 开始为 150 美元。

我有下面的脚本,它适用于第一个 if 语句,但它不计算脚本的 10/20/2018 部分。有人可以帮助我并告诉我我做错了什么吗?

var sub = 100 * Number(this.getField("numEthernet").value);    
var s = this.getField("Date").valueAsString;
if (s!="") {
var d = util.scand("mm/dd/yyyy", s);
var cutOffDate = util.scand("mm/dd/yyyy", "9/21/2018");
if (d.getTime()>cutOffDate.getTime()){
sub *= 1.25;
}
}
else if (s!="") {
var d = util.scand("mm/dd/yyyy", s);
var cutOffDate = util.scand("mm/dd/yyyy", "10/20/2018");
if (d.getTime()>=cutOffDate.getTime()){
sub *= 1.50;
}
}
event.value = sub;

最佳答案

我不熟悉 Acrobat DC,所以我不太确定某些 javascript 的基本方法/对象的可用性,但这应该可行,因为我试图从我的答案中删除任何不必要的代码:

var sub = 100 * Number(this.getField("numEthernet").value);
var s = this.getField("Date").valueAsString;
if (s != "") {
var dateFormat = "mm/dd/yyyy";
var suppliedDate = util.scand(dateFormat, s).getTime();
if (suppliedDate >= util.scand(dateFormat, "9/22/2018").getTime() && suppliedDate <= util.scand(dateFormat, "10/19/2018").getTime()){
sub *= 1.25;
}
else if (suppliedDate >= util.scand(dateFormat, "10/20/2018").getTime()) {
sub *= 1.50;
}
}
event.value = sub;

在未来,我会建议用 var s = this.getField("Date").valueAsString.trim() 这样空格不会导致任何问题,但我不确定 Acrobat DC 中是否可以使用 trim

关于javascript - 使用 getTime 通过 If Else 语句计算多个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51141846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com