JS:怎么得到给定月份的开始和结束时间

JavaScript08

JS:怎么得到给定月份的开始和结束时间,第1张

下面是一个提供所需输出的示例函数:

function getMonthDateRange(year, month) {

var moment = require('moment')

// month in moment is 0 based, so 9 is actually october, subtract 1 to compensate

// array is 'year', 'month', 'day', etc

var startDate = moment([year, month - 1])

// Clone the value before .endOf()

var endDate = moment(startDate).endOf('month')

// just for demonstration:

console.log(startDate.toDate())

console.log(endDate.toDate())

// make sure to call toDate() for plain JavaScript date type

return { start: startDate, end: endDate }}

推荐使用moment.js这个库,非常简单就可以实现了:

var d = moment("2015-01","YYYY-MM") //按照指定的年月字符串和格式解析出一个moment的日期对象

var firstDate = d.startOf("month") //通过startOf函数指定取月份的开始即第一天

var lastDate = d.endOf("month") //通过startOf函数指定取月份的末尾即最后一天