0f677893
梁灏
update DatePicker
|
1
2
|
import dateUtil from '../../utils/date';
|
0f677893
梁灏
update DatePicker
|
3
|
export const toDate = function(date) {
|
58ff14d7
Sergio Crisostomo
Make date more IE...
|
4
5
6
7
8
9
10
11
12
13
14
|
let _date = new Date(date);
// IE patch start (#1422)
if (isNaN(_date.getTime()) && typeof date === 'string'){
_date = date.split('-').map(Number);
_date[1] += 1;
_date = new Date(..._date);
}
// IE patch end
if (isNaN(_date.getTime())) return null;
return _date;
|
0f677893
梁灏
update DatePicker
|
15
16
17
18
19
20
21
22
23
24
25
26
27
|
};
export const formatDate = function(date, format) {
date = toDate(date);
if (!date) return '';
return dateUtil.format(date, format || 'yyyy-MM-dd');
};
export const parseDate = function(string, format) {
return dateUtil.parse(string, format || 'yyyy-MM-dd');
};
export const getDayCountOfMonth = function(year, month) {
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
28
|
return new Date(year, month + 1, 0).getDate();
|
0f677893
梁灏
update DatePicker
|
29
30
31
32
33
34
35
36
|
};
export const getFirstDayOfMonth = function(date) {
const temp = new Date(date.getTime());
temp.setDate(1);
return temp.getDay();
};
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
37
38
39
40
41
42
|
export const siblingMonth = function(src, diff) {
const temp = new Date(src); // lets copy it so we don't change the original
const newMonth = temp.getMonth() + diff;
const newMonthDayCount = getDayCountOfMonth(temp.getFullYear(), newMonth);
if (newMonthDayCount < temp.getDate()) {
temp.setDate(newMonthDayCount);
|
0f677893
梁灏
update DatePicker
|
43
|
}
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
44
|
temp.setMonth(newMonth);
|
0f677893
梁灏
update DatePicker
|
45
|
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
46
47
|
return temp;
};
|
0f677893
梁灏
update DatePicker
|
48
|
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
49
50
|
export const prevMonth = function(src) {
return siblingMonth(src, -1);
|
0f677893
梁灏
update DatePicker
|
51
52
53
|
};
export const nextMonth = function(src) {
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
54
|
return siblingMonth(src, 1);
|
2dbbd7de
梁灏
update TimePicker
|
55
56
|
};
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
57
|
export const initTimeDate = function() {
|
2dbbd7de
梁灏
update TimePicker
|
58
59
60
61
62
|
const date = new Date();
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
return date;
|
c91c30cc
Sergio Crisostomo
Date utils improv...
|
63
|
};
|