js计算两个日期间的所有日期

JavaScript09

js计算两个日期间的所有日期,第1张

最近需要写个小功能,就把这个功能拆成小方法了,觉得日期这玩意儿基本上都能用到,就记录下来,方便自己以后查找。

共有如下几种情况:

1、开始日期小于结束日期

2、两个日期相等,天数为0,之间没有日期

3、开始日期小于结束日期,天数为0,之间没有日期

<b>PS</b>:唯一的坑就是new Date()月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。

getTime() :返回从 1970 年 1 月 1 日至今的毫秒数。

getDate():返回日期,一个月中的某一天

setDate():设置日期,一个月中的某一天

方法一:

// 计算系统当前是星期几var str = "今天是星期" + "日一二三四五六".charat(new Date().getDay())

方法二:

var a = new array("日", "一", "二", "三", "四", "五", "六")var week = new Date().getDay()var str = "今天是星期"+ a[week]

alert(str)

方法三:

var str = "今天是星期"var week = new Date().getDay()switch (week) {case 0 :

str += "日" break case 1 :

str += "一" break case 2 :

str += "二" break case 3 :

str += "三" break case 4 :

str += "四" break case 5 :

str += "五" break case 6 :

str += "六" break

}

alert(str)

方法四:

var str = ""var week = new Date().getDay()if (week == 0) {

str = "今天是星期日"

} else if (week == 1) {

str = "今天是星期一"

} else if (week == 2) {

str = "今天是星期二"

} else if (week == 3) {

str = "今天是星期三"

} else if (week == 4) {

str = "今天是星期四"

} else if (week == 5) {

str = "今天是星期五"

} else if (week == 6) {

str = "今天是星期六"

}

alert(str)

//两个日期的差值(d1 - d2).

function DateDiff(d1,d2){

var day = 24 * 60 * 60 *1000

try{

var dateArr = d1.split("-")

var checkDate = new Date()

checkDate.setFullYear(dateArr[0], dateArr[1]-1, dateArr[2])

var checkTime = checkDate.getTime()

var dateArr2 = d2.split("-")

var checkDate2 = new Date()

checkDate2.setFullYear(dateArr2[0], dateArr2[1]-1, dateArr2[2])

var checkTime2 = checkDate2.getTime()

var cha = (checkTime - checkTime2)/day

return cha

}catch(e){

return false

}

}