如何使用波斯语Datepicker Add功能?

how to use persian datepicker add function?

提问人:jason bikari 提问时间:11/7/2023 最后编辑:DarkBeejason bikari 更新时间:11/8/2023 访问量:97

问:

在我的 Laravel 项目中,我使用波斯语 Datepicker 并且 add 函数有问题。

new persianDate().add(String, Number);

我的问题是,在这个函数中,返回日期是从今天的日期开始计算的,而我想自己定义初始日期。 例如,我有一个开始日期和一个截止日期,我想计算完成日期。 我正在等待指导。

 <script>
$('#deadline').change(function() {
var dval =parseInt($('#deadline').val());
var startdate=document.getElementById("startdate").value;
                                                  
var inputF = document.getElementById("enddate"); 
edate=new persianDate().format();

edate=new persianDate().add('days', dval).format('YYYY/MM/DD');

inputF.value = edate; 
 });
</script>
Datepicker 波斯语

评论

1赞 DarkBee 11/7/2023
您阅读了文档吗?
0赞 jason bikari 11/7/2023
是的,什么也没找到,babakhani.github.io/PersianWebToolkit/beta/persian-date/#add
1赞 brombeer 11/7/2023
babakhani.github.io/PersianWebToolkit/beta/persian-date/#date您可以使用预先存在的原生 Javascript Date 对象创建 persianDate。”应该有帮助
0赞 jason bikari 11/7/2023
我该怎么做?
1赞 CBroe 11/7/2023
您必须首先从字符串中创建一个 Date 实例,或者您必须将该日期字符串拆分为其各个组件,以便可以通过数组将它们传递给构造函数。startdatepersianDate

答:

0赞 Mark Schultheiss 11/7/2023 #1

注意:由于缺少库,这在这里不起作用,但这应该有效。

  • 您似乎正在将 jQuery 用于更改事件处理程序,因此我添加了它以匹配您的事件处理程序。
  • 由于是函数中的 deadline 元素,我们可以只使用 。thisthis.value
  • 然后你得到元素值,但我把它包装在startdatenew Date()
  • 您可以使用 instead to 在代码中更现代。constvar

$('#deadline').on('change', function(event) {
  const dval = parseInt(this.value);
  const startval = document.getElementById("startdate").value;
  if (startval !== '') {
    $('.messages').text(`Start Date is ${startval} with type ${typeof startval}`);
    const startDate = new Date(startval);
    const startDateMS = startDate.getTime()
    console.log(startDateMS, typeof startDateMS);
    const inputF = document.getElementById("enddate");
    const edate = new persianDate(startDateMS).add('days', dval).format('YYYY/MM/DD');
    inputF.value = edate;
  } else {
    $('.messages').text("Start Date is not a date");
  }
});
body {
  display: grid;
  place-items: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label>Start Date:</label>
<input id="startdate" type="date" lang="fa" />
<label>Deadline days:</label>
<input id="deadline" type="number" lang="fa" />
<label>End Date:</label>
<input id="enddate" type="date" />
<div class="messages"></div>

评论

0赞 jason bikari 11/8/2023
此错误 apear:指定的值“NaN/NaN/NaN”不符合所需的格式“yyyy-MM-dd”。
0赞 Mark Schultheiss 11/8/2023
看起来您的图书馆可能会接受一个数字作为“新日期”,因此我在这里对该日期进行了一些非常基本的验证,并将该数字传递给它;我没有对照该库进行检查,也没有对它的格式方法进行任何更深入的阅读。参考: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...如果是日期,也要进行一些基本验证:stackoverflow.com/q/643782/125981