1
- // 判断平闰年
2
- export function isRunYear ( fullYear ) {
3
- return fullYear % 4 == 0 && ( fullYear % 100 != 0 || fullYear % 400 == 0 ) ;
4
- }
5
- // 获取一个月有多少天
1
+ // get month has days
6
2
function getCountDays ( date ) {
7
3
var curDate = date ? new Date ( date ) : new Date ( ) ;
8
4
var curMonth = curDate . getMonth ( ) ;
9
5
curDate . setMonth ( curMonth + 1 ) ;
10
6
curDate . setDate ( 0 ) ;
11
7
return curDate . getDate ( ) ;
12
8
}
9
+ // get prev months show days
13
10
function getPrevDaysList ( month , year ) {
14
11
let startIndex = weekStartIndex ( month , year ) ;
15
12
const startToArray = new Array ( startIndex ) . fill ( "" ) . map ( ( item , index ) => {
@@ -23,6 +20,7 @@ function getPrevDaysList (month,year){
23
20
} ) ;
24
21
return startToArray ;
25
22
}
23
+ // get next month show some days
26
24
function getNextDaysList ( prev , now ) {
27
25
const total = prev + now ;
28
26
const floorTotal = Math . ceil ( total / 7 ) * 7 - total ;
@@ -37,36 +35,38 @@ function getNextDaysList(prev, now){
37
35
} ) ;
38
36
return nextToArray ;
39
37
}
40
- // 获取列表显示日历时间
38
+ // get now month days
39
+ function getNowDaysList ( days ) {
40
+ const nowDays = new Array ( days ) . fill ( "" ) . map ( ( item , index ) => {
41
+ item = index + 1 ;
42
+ return {
43
+ day : item ,
44
+ type : 'now' ,
45
+ selected : false ,
46
+ disabled : false
47
+ } ;
48
+ } ) ;
49
+ return nowDays ;
50
+ }
51
+ // get now days show days list
41
52
export function getCalendarList ( month , year ) {
42
53
if ( ! month || ! year ) {
43
54
return [ ] ;
44
55
}
45
56
const days = getCountDays ( year + "-" + month ) ;
46
-
47
57
const prevToArray = getPrevDaysList ( month , year ) ;
48
58
let prevStartIndex = weekStartIndex ( month , year ) ;
49
59
prevStartIndex = prevStartIndex === 0 ? 7 : prevStartIndex ;
50
60
const nextToArray = getNextDaysList ( prevStartIndex , days ) ;
51
- const nowToArray = new Array ( days ) . fill ( "" ) . map ( ( item , index ) => {
52
- item = index + 1 ;
53
- return {
54
- day : item ,
55
- type : 'now' ,
56
- selected : false ,
57
- disabled : false
58
- } ;
59
- } ) ;
61
+ const nowToArray = getNowDaysList ( days ) ;
60
62
return prevToArray . concat ( nowToArray , nextToArray ) ;
61
63
}
62
-
63
64
export function weekStartIndex ( month , year ) {
64
65
const day = "01" ;
65
66
month = month < 10 ? "0" + month : month ;
66
67
const time = year + "-" + month + "-" + day ;
67
68
return new Date ( time ) . getDay ( ) ;
68
69
}
69
-
70
70
export function getNowTime ( ) {
71
71
const date = new Date ( ) ;
72
72
return {
0 commit comments