1+
2+ function DateTimeFormat ( locale , options ) {
3+ this . options = options ;
4+
5+ if ( process . env . NODE_ENV !== 'production' && locale !== 'en-US' ) {
6+ console . warn ( 'Wrong usage of DateTimeFormat' ) ;
7+ }
8+
9+ this . format = function ( date ) {
10+ let output ;
11+
12+ if ( options . month === 'short' &&
13+ options . weekday === 'short' &&
14+ options . day === '2-digit' ) {
15+
16+ const day = date . getDay ( ) ;
17+ switch ( day ) {
18+ case 0 :
19+ output = 'Sun' ;
20+ break ;
21+ case 1 :
22+ output = 'Mon' ;
23+ break ;
24+ case 2 :
25+ output = 'Tue' ;
26+ break ;
27+ case 3 :
28+ output = 'Wed' ;
29+ break ;
30+ case 4 :
31+ output = 'Thu' ;
32+ break ;
33+ case 5 :
34+ output = 'Fri' ;
35+ break ;
36+ case 6 :
37+ output = 'Sat' ;
38+ break ;
39+ }
40+
41+ output += ', ' ;
42+
43+ const month = date . getMonth ( ) ;
44+ switch ( month ) {
45+ case 0 :
46+ output += 'Jan' ;
47+ break ;
48+ case 1 :
49+ output += 'Feb' ;
50+ break ;
51+ case 2 :
52+ output += 'Mar' ;
53+ break ;
54+ case 3 :
55+ output += 'Apr' ;
56+ break ;
57+ case 4 :
58+ output += 'May' ;
59+ break ;
60+ case 5 :
61+ output += 'Jun' ;
62+ break ;
63+ case 6 :
64+ output += 'Jul' ;
65+ break ;
66+ case 7 :
67+ output += 'Aug' ;
68+ break ;
69+ case 8 :
70+ output += 'Sep' ;
71+ break ;
72+ case 9 :
73+ output += 'Oct' ;
74+ break ;
75+ case 10 :
76+ output += 'Nov' ;
77+ break ;
78+ case 11 :
79+ output += 'Dec' ;
80+ break ;
81+ }
82+
83+ output += ' ' + date . getDate ( )
84+ } else if ( options . month === 'long'
85+ && options . year === 'numeric' ) {
86+
87+ switch ( date . getMonth ( ) ) {
88+ case 0 :
89+ output = 'January' ;
90+ break ;
91+ case 1 :
92+ output = 'February' ;
93+ break ;
94+ case 2 :
95+ output = 'March' ;
96+ break ;
97+ case 3 :
98+ output = 'April' ;
99+ break ;
100+ case 4 :
101+ output = 'May' ;
102+ break ;
103+ case 5 :
104+ output = 'June' ;
105+ break ;
106+ case 6 :
107+ output = 'July' ;
108+ break ;
109+ case 7 :
110+ output = 'August' ;
111+ break ;
112+ case 8 :
113+ output = 'September' ;
114+ break ;
115+ case 9 :
116+ output = 'October' ;
117+ break ;
118+ case 10 :
119+ output = 'November' ;
120+ break ;
121+ case 11 :
122+ output = 'December' ;
123+ break ;
124+ }
125+
126+ output += ' ' + date . getFullYear ( ) ;
127+ } else if ( process . env . NODE_ENV !== 'production' ) {
128+ console . warn ( 'Wrong usage of DateTimeFormat' ) ;
129+ }
130+
131+ return output ;
132+ } ;
133+ }
134+
1135module . exports = {
136+ DateTimeFormat : DateTimeFormat ,
2137
3138 addDays ( d , days ) {
4- let newDate = this . clone ( d ) ;
139+ const newDate = this . clone ( d ) ;
5140 newDate . setDate ( d . getDate ( ) + days ) ;
6141 return newDate ;
7142 } ,
8143
9144 addMonths ( d , months ) {
10- let newDate = this . clone ( d ) ;
145+ const newDate = this . clone ( d ) ;
11146 newDate . setMonth ( d . getMonth ( ) + months ) ;
12147 return newDate ;
13148 } ,
14149
15150 addYears ( d , years ) {
16- let newDate = this . clone ( d ) ;
151+ const newDate = this . clone ( d ) ;
17152 newDate . setFullYear ( d . getFullYear ( ) + years ) ;
18153 return newDate ;
19154 } ,
@@ -23,7 +158,7 @@ module.exports = {
23158 } ,
24159
25160 cloneAsDate ( d ) {
26- let clonedDate = this . clone ( d ) ;
161+ const clonedDate = this . clone ( d ) ;
27162 clonedDate . setHours ( 0 , 0 , 0 , 0 ) ;
28163 return clonedDate ;
29164 } ,
@@ -41,55 +176,6 @@ module.exports = {
41176 return new Date ( d . getFullYear ( ) , d . getMonth ( ) , 1 ) ;
42177 } ,
43178
44- getFullMonth ( d ) {
45- let month = d . getMonth ( ) ;
46- switch ( month ) {
47- case 0 : return 'January' ;
48- case 1 : return 'February' ;
49- case 2 : return 'March' ;
50- case 3 : return 'April' ;
51- case 4 : return 'May' ;
52- case 5 : return 'June' ;
53- case 6 : return 'July' ;
54- case 7 : return 'August' ;
55- case 8 : return 'September' ;
56- case 9 : return 'October' ;
57- case 10 : return 'November' ;
58- case 11 : return 'December' ;
59- }
60- } ,
61-
62- getShortMonth ( d ) {
63- let month = d . getMonth ( ) ;
64- switch ( month ) {
65- case 0 : return 'Jan' ;
66- case 1 : return 'Feb' ;
67- case 2 : return 'Mar' ;
68- case 3 : return 'Apr' ;
69- case 4 : return 'May' ;
70- case 5 : return 'Jun' ;
71- case 6 : return 'Jul' ;
72- case 7 : return 'Aug' ;
73- case 8 : return 'Sep' ;
74- case 9 : return 'Oct' ;
75- case 10 : return 'Nov' ;
76- case 11 : return 'Dec' ;
77- }
78- } ,
79-
80- getDayOfWeek ( d ) {
81- let dow = d . getDay ( ) ;
82- switch ( dow ) {
83- case 0 : return 'Sun' ;
84- case 1 : return 'Mon' ;
85- case 2 : return 'Tue' ;
86- case 3 : return 'Wed' ;
87- case 4 : return 'Thu' ;
88- case 5 : return 'Fri' ;
89- case 6 : return 'Sat' ;
90- }
91- } ,
92-
93179 getWeekArray ( d ) {
94180 let dayArray = [ ] ;
95181 let daysInMonth = this . getDaysInMonth ( d ) ;
@@ -120,9 +206,9 @@ module.exports = {
120206 } ,
121207
122208 format ( date ) {
123- let m = date . getMonth ( ) + 1 ;
124- let d = date . getDate ( ) ;
125- let y = date . getFullYear ( ) ;
209+ const m = date . getMonth ( ) + 1 ;
210+ const d = date . getDate ( ) ;
211+ const y = date . getFullYear ( ) ;
126212 return m + '/' + d + '/' + y ;
127213 } ,
128214
@@ -134,15 +220,15 @@ module.exports = {
134220 } ,
135221
136222 isBeforeDate ( d1 , d2 ) {
137- let date1 = this . cloneAsDate ( d1 ) ;
138- let date2 = this . cloneAsDate ( d2 ) ;
223+ const date1 = this . cloneAsDate ( d1 ) ;
224+ const date2 = this . cloneAsDate ( d2 ) ;
139225
140226 return ( date1 . getTime ( ) < date2 . getTime ( ) ) ;
141227 } ,
142228
143229 isAfterDate ( d1 , d2 ) {
144- let date1 = this . cloneAsDate ( d1 ) ;
145- let date2 = this . cloneAsDate ( d2 ) ;
230+ const date1 = this . cloneAsDate ( d1 ) ;
231+ const date2 = this . cloneAsDate ( d2 ) ;
146232
147233 return ( date1 . getTime ( ) > date2 . getTime ( ) ) ;
148234 } ,
0 commit comments