本文介绍如何利用JavaScript和jQuery实现根据成型日期与龄期自动计算要求试验日期的功能。通过监听文本框的change事件,获取用户输入的成型日期和龄期数值,利用Date对象进行日期加法运算,并处理月份和日期的补零逻辑,最终将格式化后的结果赋值给目标输入框,实现自动化日期计算。
![]()
JS实现日期加减计算试验日期的方法
实现效果为:成型日期减去龄期等于要求试验日期。
触发事件如下:
当用户修改成型日期文本框时触发计算;当用户修改龄期文本框时也触发计算。代码说明:成型日期对应的ID为tbcxrq,龄期对应的ID为tblq,要求试验日期对应的ID为tbyqsyrq。
具体代码实现如下:
<script type="text/javascript">
$(function() {
$("#<%=tbcxrq.ClientID %>").change(function() { CaclDate(); });
$("#<%=tblq.ClientID %>").change(function() { CaclDate(); });
//根据龄期计算试验时间
function CaclDate() {
if ($("#<%=tblq.ClientID %>").val() == "" || $("#<%=tbcxrq.ClientID %>").val() == "") {
$("#<%=tbyqsyrq.ClientID %>").val("");
}
else {
var MoldingDate = $("#<%=tbcxrq.ClientID %>").val();
MoldingDate = MoldingDate.replace("-", "/")
var d = new Date(MoldingDate);
var AgeDate = $("#<%=tblq.ClientID %>").val();
d.setDate(d.getDate() + parseInt(AgeDate));
var month = d.getMonth() + 1;
if (parseInt(month) < 10)
month = "0" + month;
var day = d.getDate();
if (parseInt(day) < 10)
day = "0" + day;
var date = (d.getFullYear()) + "-" + month + "-" + day;
$("#<%=tbyqsyrq.ClientID %>").val(date);
}
}
});
</script>