我必须编写一个JavaScript函数来检查两个日期(格式为dd/MM/yyyy
)的时间间隔是否最多为3个月。
我可以从两个文本框中检索这两个值(无需检查格式,我已经获得了一个自动格式化日期的日历控件)。
我几乎没有使用JavaScript的经验。你能救我吗?
示例:
15/2 / 2011,13 / 2/2011 - >返回真实的 6/1 / 2011,5 / 10/2010 - >返回错误
我已经检查过日期A晚于日期B(日历是否适用于我)
答案 0 :(得分:2)
您可以找到两个日期之间的差异并相应地返回值。
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24
// Convert both dates to milliseconds
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms)
// check converting back to days and return
return (Math.round(difference_ms/ONE_DAY) >90);
}
如果您无法正确检查或解析日期,则应使用
var x=txtDate1.split("/"); //Here txtDate1 and txtDate2 are values from your textbox
var y=txtDate2.split("/");
//date format(Fullyear,month,date)
var date1=new Date(x[2],(x[1]-1),x[0]);
var date2=new Date(y[2],(y[1]-1),y[0])
答案 1 :(得分:2)
无需大量代码:
function days_between(date1, date2) {
return Math.round(Math.abs(date1 - date2) / (1000 * 60 * 60 * 24)) > 90;
}
date1
和date2
是Date个对象,例如
var date1 = new Date('mm/dd/yyyy');