js如何控制 开始日期 到 结束日期 跨月的判断?

JavaScript011

js如何控制 开始日期 到 结束日期 跨月的判断?,第1张

function checkStartAndEndDay(startTime,endTime){

if (startTime == null || endTime == null || startTime== ""

|| endTime == "") {

alert("请选择起止时间")

return false

}

var regS = new RegExp("-", "gi")

var date1 = startTime.replace(regS, "/")

var date2 = endTime.replace(regS, "/")

var st = new Date(Date.parse(date1))

var et = new Date(Date.parse(date2))

if (et <st) {

alert("结束时间要大于开始时间!")

return false

}

var diff = et.getTime() - st.getTime()

var days = Math.floor(diff / (1000 * 60 * 60 * 24))

if (days >= 7) {

alert("时间跨度不能超过7天")

return false

}

return true

}

这上面的代码可以解决你要的开始时间不能小于结束时间的问题,判断跨月的js如下:

function check_sub()

{

var begin_ = document.getElementById('startTime').value

var end_ = document.getElementById('endTime').value

var st=startTime.split("-") //将时间分成数组然后比较年、月份的大小

var et=endTime.split("-")

if(st[0]!=et[0]){

alert("抱歉,暂时不提供跨年查询")

return false

}else{

if(st[1]!=et[1]){

alert("抱歉,暂时不提供跨月查询")

return false

}

}

}

这上面的可以解决跨月的判断,你看下,应该就没问题了

  var d1 = new Date(2014, 11, 4)

  var d2 = new Date(2014, 10, 29)

  alert( (d1.getTime() - d2.getTime()) / 60000 /24/60)

这个计算本身在是没有问题的,不管是否跨月。

看你的array的值是否正常, 看 rowNumber.value 是否正确引用到你期望的数字。

若你用的日期是Data类型,代码如下:

假如第一个日期是d1,第二个是d2

var d3 = d1.getTime() - d2.getTime()

var d4 = 1000*3600*24*30(一个月按30天计算)

然后判断d3与d4的大小即可,不知道是不是你要的答案,希望可以帮到你