将年,月和日字段转换为日期以进行数学运算

问题描述

全部, 我有一个带有三个单独文本字段的表单。年,月和日。 我试图弄清楚如何组合它们并确定日期(日期格式无关紧要),然后从另一个日期中减去它来找到它们之间的天数。

问题是...我是JavaScript的新手,在网络上找不到任何可以用作教程的内容

如果有人可以帮助我入门,我将不胜感激。

我的文本字段为字面值(“年”,“月”和“日”)。我猜想有一种方法可以将三个数字连接起来然后转换为日期?下面是我的位置,我知道它已经过去了,所以...

var cYar = this.getField("Year").value
var cMon = this.getField("Month").value
var cDay = this.getField("Day").value
var cSrt = concat(cYar,'-',cMon,cDay)as date
var cYar2 = this.getField("lveyear").value
var cMon2 = this.getField("lvemon").value
var cDay2 = this.getField("lveday").value
var cEnd = concat(cYar2,cMon2,cDay2)as date

this.getField("numdays")event.value = (cEnd-Csrt)+1

预先感谢...

解决方法

Date构造函数支持您的所有数据。 Refer MDN

new Date(year,monthIndex[,day[,hours[,minutes[,seconds [,milliseconds]]]]])
  • 日期对象支持使用Epoch时间戳进行数学运算。

  • 请注意monthIndex从January = 0

    开始
const convertToDate = (yyyy,mm,dd) => new Date(yyyy,mm - 1,dd);
convertToDate(2020,09,19) - convertToDate(2020,18)

输出: 86400000 (24小时,以毫秒为单位)

如果您想获取天数:

const dateA = convertToDate(cYar,cMon,cDay);
const dateB = convertToDate(cYar2,cMon2,cDay2);
const numDays = parseInt((dateB - dateA) / 86400000);

这是一个小提琴:https://jsfiddle.net/d2v8hpc1/

,

您可能会寻找Date对象的描述,该对象是JavaScript核心的一部分。

您还应该查看Acrobat JavaScript文档中的util.scand()util.printd()方法。