41 lines
1.2 KiB
Java
41 lines
1.2 KiB
Java
![]() |
var staticStrFirst = require('../static/staticStrFirst')
|
|||
|
var staticStrLast = require('../static/staticStrLast')
|
|||
|
|
|||
|
var helperGetDateFullYear = require('./helperGetDateFullYear')
|
|||
|
|
|||
|
var getWhatMonth = require('./getWhatMonth')
|
|||
|
var toStringDate = require('./toStringDate')
|
|||
|
var isDate = require('../base/isDate')
|
|||
|
|
|||
|
/**
|
|||
|
* 返回前几年或后几年的日期
|
|||
|
*
|
|||
|
* @param {Date} date 日期或数字
|
|||
|
* @param {Number} year 年(默认当前年)、前几个年(数值)、后几个年(数值)
|
|||
|
* @param {Number/String} month 获取哪月(null默认当前年)、年初(first)、年末(last)、指定月份(0-11)
|
|||
|
* @return {Date}
|
|||
|
*/
|
|||
|
function getWhatYear (date, year, month) {
|
|||
|
var number
|
|||
|
date = toStringDate(date)
|
|||
|
if (isDate(date)) {
|
|||
|
if (year) {
|
|||
|
number = year && !isNaN(year) ? year : 0
|
|||
|
date.setFullYear(helperGetDateFullYear(date) + number)
|
|||
|
}
|
|||
|
if (month || !isNaN(month)) {
|
|||
|
if (month === staticStrFirst) {
|
|||
|
return new Date(helperGetDateFullYear(date), 0, 1)
|
|||
|
} else if (month === staticStrLast) {
|
|||
|
date.setMonth(11)
|
|||
|
return getWhatMonth(date, 0, staticStrLast)
|
|||
|
} else {
|
|||
|
date.setMonth(month)
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return date
|
|||
|
}
|
|||
|
|
|||
|
module.exports = getWhatYear
|