代码如上,原理是,设定指定月份的下个月第一天,减去1毫秒,就是上个月最后一天。
测试输出结果,以下结果分别是29、28:
js如何获得今年最后一天的日期:
<script type="text/javascript">
function getYearLastDay(){
return new Date().getFullYear()+"年12月31号"
}
alert(getYearLastDay())
</script>
推荐使用moment.js这个库,非常简单就可以实现了:
var d = moment("2015-01","YYYY-MM") //按照指定的年月字符串和格式解析出一个moment的日期对象var firstDate = d.startOf("month") //通过startOf函数指定取月份的开始即第一天
var lastDate = d.endOf("month") //通过startOf函数指定取月份的末尾即最后一天
<html xmlns="http://www.w3.org/1999/xhtml" ><meta charset="UTF-8">
<head>
<title>获取当年当月最后一天日期</title>
<script language="javascript">
function getLastDay(){
var year = document.getElementById('year').value
var month = document.getElementById('month').value
var new_year = year //取当前的年份
var new_month = month++//取下一个月的第一天,方便计算(最后一天不固定)
if(month>12){//如果当前大于12月,则年份转到下一年
new_month -=12 //月份减
new_year++ //年份增
}
var new_date = new Date(new_year,new_month,1) //取当年当月中的第一天
return (new Date(new_date.getTime()-1000*60*60*24)).getDate()//获取当月最后一天日期
}
</script>
<body>
year:<input id="year" value="" type="text">
<br />
mont:<input id="month" value="" type="text">
<br />
<input id="Button1" type="button" value="最后一天" onClick="alert(getLastDay())" />
</body>
</html>