UNPKG

1.2 kBJavaScriptView Raw
1var staticStrFirst = require('./staticStrFirst')
2var staticStrLast = require('./staticStrLast')
3var staticParseInt = require('./staticParseInt')
4
5var helperGetDateFullYear = require('./helperGetDateFullYear')
6var helperGetDateMonth = require('./helperGetDateMonth')
7var helperGetDateTime = require('./helperGetDateTime')
8
9var toStringDate = require('./toStringDate')
10var isValidDate = require('./isValidDate')
11
12/**
13 * 返回前几天或后几天的日期
14 *
15 * @param {Date} date 日期或数字
16 * @param {Number} offset 天(默认当天)、前几天、后几天
17 * @param {String} mode 获取时分秒(null默认当前时分秒)、日初(first)、日末(last)
18 * @return {Date}
19 */
20function getWhatDay (date, offset, mode) {
21 date = toStringDate(date)
22 if (isValidDate(date) && !isNaN(offset)) {
23 date.setDate(date.getDate() + staticParseInt(offset))
24 if (mode === staticStrFirst) {
25 return new Date(helperGetDateFullYear(date), helperGetDateMonth(date), date.getDate())
26 } else if (mode === staticStrLast) {
27 return new Date(helperGetDateTime(getWhatDay(date, 1, staticStrFirst)) - 1)
28 }
29 }
30 return date
31}
32
33module.exports = getWhatDay