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

Laravel项目中Persian Datepicker add函数自定义初始日期求助

解决Persian Datepicker自定义初始日期调用add函数的问题

核心解决思路:Persian Datepicker的构造函数支持传入自定义日期字符串来初始化实例,而非默认使用当前日期。你只需要将获取到的起始日期startdate传入persianDate构造函数,再基于该实例调用add方法完成日期计算即可。

原代码问题分析

你当前的代码中,new persianDate()每次都会创建一个基于当前日期的实例,所以调用add后得到的是今日加上指定天数的结果,而非基于你选择的起始日期计算。

修改后的完整代码

$('#deadline').change(function() {
    var dval = parseInt($('#deadline').val());
    var startdate = document.getElementById("startdate").value;
    var inputF = document.getElementById("enddate"); 

    // 先判断起始日期是否有效,避免空值或无效格式导致错误
    if (!startdate) {
        inputF.value = '';
        return;
    }

    // 基于起始日期初始化persianDate实例,再添加指定天数
    var edate = new persianDate(startdate).add('days', dval).format('YYYY/MM/DD');

    inputF.value = edate; 
});

额外注意事项

  • 确保startdate的格式是Persian Datepicker能识别的格式(比如YYYY/MM/DD),如果你的日期选择器输出的是其他格式(如YYYY-MM-DD),可以在构造实例时指定格式:
    new persianDate(startdate, 'YYYY-MM-DD')
    
  • 如果dval可能为空或非数字,建议增加类型校验,避免add方法执行异常。

内容的提问来源于stack exchange,提问作者jason bikari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:37:40