js如何计算两个日期的月份差?

JavaScript012

js如何计算两个日期的月份差?,第1张

//两个日期

var date1 = '2013-03-26'

var date2 = '2011-01-10'

// 拆分年月日

date1 = date1.split('-')

// 得到月数

date1 = parseInt(date1[0]) * 12 + parseInt(date1[1])

// 拆分年月日

date2 = date2.split('-')

// 得到月数

date2 = parseInt(date2[0]) * 12 + parseInt(date2[1])

var m = Math.abs(date1 - date2)

alert(m)

<SCRIPT language="javascript">

//计算月份差

function getMonthNumber(date1,date2){

//默认格式为"20030303",根据自己需要改格式和方法

// 如果像 “201411”这样的日期,在后面自己补上“01”

var year1 = date1.substr(0,4)

var year2 = date2.substr(0,4)

var month1 = date1.substr(4,2)

var month2 = date2.substr(4,2)

var len=(year2-year1)*12+(month2-month1)

return len

}

var len=getMonthNumber('200403','200504')

//alert('2003-03-03'.replace(/-/g, "/"))

//alert('2003-03-03'.replace(/-/g, ""))

if(len<0){

alert("查询起始月份不能比查询终止月份大.")

}else if(len >11){

alert("查询月份时间段不能超过12个月.")

}

</SCRIPT>

我给你写了一个输入任意天数,计算天数差的js

var year = parseInt(prompt('请输入年份'))

function what (year) {

if (year % 4 === 0 && year % 100 !==0 || year % 400 === 0) {

var n = 29

console.log('闰年')

}else {

n = 28

console.log('平年')  

}

return n

}

what(year)

var day = parseInt(prompt('请输入日期','如419'))

var arr1 = [31,what(year),31,30,31,30,31,31,30,31,30,31]

var i

var sum = 0

i= parseInt((+day) /100)-1

for ( var j= 0  j< i j++) {

sum += arr1[j]

}

var last

last = sum +parseInt(day % 100)

console.log(last)