问题描述
全部, 我有一个带有三个单独文本字段的表单。年,月和日。 我试图弄清楚如何组合它们并确定日期(日期格式无关紧要),然后从另一个日期中减去它来找到它们之间的天数。
问题是...我是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()
方法。