datevolt 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -124
- package/package.json +2 -2
- package/src/index.js +38 -38
- package/src/duration.js +0 -188
- package/src/locale.js +0 -179
- package/src/parse.js +0 -335
- package/src/tempox.js +0 -456
package/src/parse.js
DELETED
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
4
|
-
var ISO_REGEX = /^(\d{4})(-(\d{2})(-(\d{2})([T\s](\d{2}):(\d{2})(:(\d{2})(\.(\d+))?)?(Z|([+-])(\d{2}):?(\d{2}))?)?)?)?$/;
|
|
5
|
-
var ASP_DATE_REGEX = /\/Date\((-?\d+)(([+-])(\d{2})(\d{2}))?\)\//;
|
|
6
|
-
|
|
7
|
-
var TOKEN_REGEX = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|jj?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
|
|
8
|
-
|
|
9
|
-
var FORMAT_TOKENS = {
|
|
10
|
-
M: function(d){ return d.getMonth()+1; },
|
|
11
|
-
MM: function(d){ return pad(d.getMonth()+1); },
|
|
12
|
-
MMM: function(d,loc){ return loc.monthsShort[d.getMonth()]; },
|
|
13
|
-
MMMM: function(d,loc){ return loc.months[d.getMonth()]; },
|
|
14
|
-
D: function(d){ return d.getDate(); },
|
|
15
|
-
DD: function(d){ return pad(d.getDate()); },
|
|
16
|
-
Do: function(d,loc){ return loc.ordinal(d.getDate()); },
|
|
17
|
-
DDD: function(d){ return dayOfYear(d); },
|
|
18
|
-
DDDD: function(d){ return pad(dayOfYear(d),3); },
|
|
19
|
-
d: function(d){ return d.getDay(); },
|
|
20
|
-
dd: function(d,loc){ return loc.weekdaysMin[d.getDay()]; },
|
|
21
|
-
ddd: function(d,loc){ return loc.weekdaysShort[d.getDay()]; },
|
|
22
|
-
dddd: function(d,loc){ return loc.weekdays[d.getDay()]; },
|
|
23
|
-
e: function(d){ return d.getDay(); },
|
|
24
|
-
E: function(d){ return d.getDay()||7; },
|
|
25
|
-
w: function(d){ return weekOfYear(d); },
|
|
26
|
-
ww: function(d){ return pad(weekOfYear(d)); },
|
|
27
|
-
W: function(d){ return isoWeekOfYear(d); },
|
|
28
|
-
WW: function(d){ return pad(isoWeekOfYear(d)); },
|
|
29
|
-
YY: function(d){ return String(d.getFullYear()).slice(-2); },
|
|
30
|
-
YYYY: function(d){ return pad(d.getFullYear(),4); },
|
|
31
|
-
gg: function(d){ return String(weekYear(d)).slice(-2); },
|
|
32
|
-
gggg: function(d){ return weekYear(d); },
|
|
33
|
-
GG: function(d){ return String(isoWeekYear(d)).slice(-2); },
|
|
34
|
-
GGGG: function(d){ return isoWeekYear(d); },
|
|
35
|
-
Q: function(d){ return Math.ceil((d.getMonth()+1)/3); },
|
|
36
|
-
Qo: function(d,loc){ return loc.ordinal(Math.ceil((d.getMonth()+1)/3)); },
|
|
37
|
-
A: function(d){ return d.getHours()<12?'AM':'PM'; },
|
|
38
|
-
a: function(d){ return d.getHours()<12?'am':'pm'; },
|
|
39
|
-
H: function(d){ return d.getHours(); },
|
|
40
|
-
HH: function(d){ return pad(d.getHours()); },
|
|
41
|
-
h: function(d){ return d.getHours()%12||12; },
|
|
42
|
-
hh: function(d){ return pad(d.getHours()%12||12); },
|
|
43
|
-
k: function(d){ return d.getHours()||24; },
|
|
44
|
-
kk: function(d){ return pad(d.getHours()||24); },
|
|
45
|
-
m: function(d){ return d.getMinutes(); },
|
|
46
|
-
mm: function(d){ return pad(d.getMinutes()); },
|
|
47
|
-
s: function(d){ return d.getSeconds(); },
|
|
48
|
-
ss: function(d){ return pad(d.getSeconds()); },
|
|
49
|
-
S: function(d){ return Math.floor(d.getMilliseconds()/100); },
|
|
50
|
-
SS: function(d){ return pad(Math.floor(d.getMilliseconds()/10)); },
|
|
51
|
-
SSS: function(d){ return pad(d.getMilliseconds(),3); },
|
|
52
|
-
SSSS: function(d){ return pad(d.getMilliseconds(),3)+'0'; },
|
|
53
|
-
SSSSS:function(d){ return pad(d.getMilliseconds(),3)+'00'; },
|
|
54
|
-
Z: function(d){ return offsetStr(d,':'); },
|
|
55
|
-
ZZ: function(d){ return offsetStr(d,''); },
|
|
56
|
-
X: function(d){ return Math.floor(d.getTime()/1000); },
|
|
57
|
-
x: function(d){ return d.getTime(); },
|
|
58
|
-
z: function(d){ return 'UTC'+offsetStr(d,':'); },
|
|
59
|
-
zz: function(d){ return 'UTC'+offsetStr(d,':'); }
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
63
|
-
function pad(n, len) {
|
|
64
|
-
var s = String(Math.abs(n));
|
|
65
|
-
while (s.length < (len||2)) s = '0'+s;
|
|
66
|
-
return (n<0?'-':'')+s;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function offsetStr(d, sep) {
|
|
70
|
-
var off = -d.getTimezoneOffset();
|
|
71
|
-
var sign = off>=0?'+':'-';
|
|
72
|
-
var abs = Math.abs(off);
|
|
73
|
-
return sign + pad(Math.floor(abs/60)) + sep + pad(abs%60);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function dayOfYear(d) {
|
|
77
|
-
var start = new Date(d.getFullYear(),0,0);
|
|
78
|
-
var diff = d - start;
|
|
79
|
-
return Math.floor(diff/86400000);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function weekOfYear(d) {
|
|
83
|
-
var jan1 = new Date(d.getFullYear(),0,1);
|
|
84
|
-
var dayNum = d.getDay()||7;
|
|
85
|
-
return Math.ceil((((d-jan1)/86400000)+jan1.getDay()+1)/7);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function isoWeekOfYear(d) {
|
|
89
|
-
var date = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
|
|
90
|
-
var dayNum = date.getUTCDay()||7;
|
|
91
|
-
date.setUTCDate(date.getUTCDate()+4-dayNum);
|
|
92
|
-
var yearStart = new Date(Date.UTC(date.getUTCFullYear(),0,1));
|
|
93
|
-
return Math.ceil((((date-yearStart)/86400000)+1)/7);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function weekYear(d) {
|
|
97
|
-
var w = weekOfYear(d);
|
|
98
|
-
var year = d.getFullYear();
|
|
99
|
-
if (w===52 && d.getMonth()===0) return year-1;
|
|
100
|
-
if (w===1 && d.getMonth()===11) return year+1;
|
|
101
|
-
return year;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
function isoWeekYear(d) {
|
|
105
|
-
var w = isoWeekOfYear(d);
|
|
106
|
-
var year = d.getFullYear();
|
|
107
|
-
if (w===52 && d.getMonth()===0) return year-1;
|
|
108
|
-
if (w===1 && d.getMonth()===11) return year+1;
|
|
109
|
-
return year;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// ─── Parse Input ─────────────────────────────────────────────────────────────
|
|
113
|
-
function parseInput(input, fmt, strict, utcMode, tzOffset) {
|
|
114
|
-
if (input === undefined || input === null) return { d: new Date(), utc: !!utcMode, offset: tzOffset };
|
|
115
|
-
|
|
116
|
-
if (input && input.__isTempox) return { d: new Date(input._d.getTime()), utc: input._utc, offset: input._offset };
|
|
117
|
-
|
|
118
|
-
if (input instanceof Date) return { d: new Date(input.getTime()), utc: !!utcMode, offset: tzOffset };
|
|
119
|
-
|
|
120
|
-
if (typeof input === 'number') return { d: new Date(input), utc: !!utcMode, offset: tzOffset };
|
|
121
|
-
|
|
122
|
-
if (Array.isArray(input)) {
|
|
123
|
-
var a = input;
|
|
124
|
-
var d = utcMode
|
|
125
|
-
? new Date(Date.UTC(a[0]||0,a[1]||0,a[2]!==undefined?a[2]:1,a[3]||0,a[4]||0,a[5]||0,a[6]||0))
|
|
126
|
-
: new Date(a[0]||0,a[1]||0,a[2]!==undefined?a[2]:1,a[3]||0,a[4]||0,a[5]||0,a[6]||0);
|
|
127
|
-
return { d: d, utc: !!utcMode, offset: tzOffset };
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
if (typeof input === 'object' && !(input instanceof Date)) {
|
|
131
|
-
var obj = input;
|
|
132
|
-
var now = new Date();
|
|
133
|
-
var y = obj.year||obj.years||obj.y||now.getFullYear();
|
|
134
|
-
var mo = obj.month!==undefined?obj.month:(obj.months!==undefined?obj.months:(obj.M!==undefined?obj.M:now.getMonth()));
|
|
135
|
-
var day = obj.day||obj.days||obj.date||obj.d||now.getDate();
|
|
136
|
-
var h = obj.hour||obj.hours||obj.h||0;
|
|
137
|
-
var mi = obj.minute||obj.minutes||obj.m||0;
|
|
138
|
-
var s = obj.second||obj.seconds||obj.s||0;
|
|
139
|
-
var ms = obj.millisecond||obj.milliseconds||obj.ms||0;
|
|
140
|
-
return { d: new Date(y, mo, day, h, mi, s, ms), utc: false, offset: tzOffset };
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (typeof input === 'string') {
|
|
144
|
-
var aspMatch = input.match(ASP_DATE_REGEX);
|
|
145
|
-
if (aspMatch) return { d: new Date(parseInt(aspMatch[1],10)), utc: !!utcMode, offset: tzOffset };
|
|
146
|
-
|
|
147
|
-
if (fmt) {
|
|
148
|
-
var fmtResult = parseWithFormat(input, fmt, strict, utcMode);
|
|
149
|
-
return fmtResult;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
return parseISO(input, utcMode);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
return { d: new Date(NaN), utc: !!utcMode, offset: tzOffset };
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function parseISO(str, utcMode) {
|
|
159
|
-
var m = str.trim().match(ISO_REGEX);
|
|
160
|
-
if (!m) return { d: new Date(str), utc: false, offset: undefined };
|
|
161
|
-
|
|
162
|
-
var year = parseInt(m[1],10);
|
|
163
|
-
var month = m[3] ? parseInt(m[3],10)-1 : 0;
|
|
164
|
-
var day = m[5] ? parseInt(m[5],10) : 1;
|
|
165
|
-
var hour = m[7] ? parseInt(m[7],10) : 0;
|
|
166
|
-
var min = m[8] ? parseInt(m[8],10) : 0;
|
|
167
|
-
var sec = m[10]? parseInt(m[10],10) : 0;
|
|
168
|
-
var msRaw = m[12]|| '0';
|
|
169
|
-
while (msRaw.length < 3) msRaw += '0';
|
|
170
|
-
var ms = parseInt(msRaw.slice(0,3),10);
|
|
171
|
-
|
|
172
|
-
var tzStr = m[13];
|
|
173
|
-
var hasTime = !!m[6];
|
|
174
|
-
|
|
175
|
-
if (tzStr) {
|
|
176
|
-
var utcMs = Date.UTC(year,month,day,hour,min,sec,ms);
|
|
177
|
-
if (tzStr !== 'Z') {
|
|
178
|
-
var tzSign = m[14]==='-' ? 1 : -1;
|
|
179
|
-
var tzH = parseInt(m[15],10);
|
|
180
|
-
var tzM = parseInt(m[16],10);
|
|
181
|
-
utcMs += tzSign*(tzH*60+tzM)*60000;
|
|
182
|
-
}
|
|
183
|
-
return { d: new Date(utcMs), utc: true, offset: undefined };
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
if (!hasTime && !utcMode) {
|
|
187
|
-
// date-only -> local midnight (moment behaviour)
|
|
188
|
-
return { d: new Date(year,month,day,0,0,0,0), utc: false, offset: undefined };
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
if (utcMode) {
|
|
192
|
-
return { d: new Date(Date.UTC(year,month,day,hour,min,sec,ms)), utc: true, offset: undefined };
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
return { d: new Date(year,month,day,hour,min,sec,ms), utc: false, offset: undefined };
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
// ─── Format-guided parsing ────────────────────────────────────────────────────
|
|
199
|
-
var PARSE_TOKENS = {
|
|
200
|
-
YYYY: { rx: '(\\d{4})', set: function(p,v){ p.year = parseInt(v,10); } },
|
|
201
|
-
YY: { rx: '(\\d{2})', set: function(p,v){ var n=parseInt(v,10); p.year = n<69?2000+n:1900+n; } },
|
|
202
|
-
M: { rx: '(\\d{1,2})', set: function(p,v){ p.month = parseInt(v,10)-1; } },
|
|
203
|
-
MM: { rx: '(\\d{2})', set: function(p,v){ p.month = parseInt(v,10)-1; } },
|
|
204
|
-
D: { rx: '(\\d{1,2})', set: function(p,v){ p.day = parseInt(v,10); } },
|
|
205
|
-
DD: { rx: '(\\d{2})', set: function(p,v){ p.day = parseInt(v,10); } },
|
|
206
|
-
H: { rx: '(\\d{1,2})', set: function(p,v){ p.hour = parseInt(v,10); } },
|
|
207
|
-
HH: { rx: '(\\d{2})', set: function(p,v){ p.hour = parseInt(v,10); } },
|
|
208
|
-
h: { rx: '(\\d{1,2})', set: function(p,v){ p.hour12 = parseInt(v,10); } },
|
|
209
|
-
hh: { rx: '(\\d{2})', set: function(p,v){ p.hour12 = parseInt(v,10); } },
|
|
210
|
-
m: { rx: '(\\d{1,2})', set: function(p,v){ p.minute = parseInt(v,10); } },
|
|
211
|
-
mm: { rx: '(\\d{2})', set: function(p,v){ p.minute = parseInt(v,10); } },
|
|
212
|
-
s: { rx: '(\\d{1,2})', set: function(p,v){ p.second = parseInt(v,10); } },
|
|
213
|
-
ss: { rx: '(\\d{2})', set: function(p,v){ p.second = parseInt(v,10); } },
|
|
214
|
-
S: { rx: '(\\d)', set: function(p,v){ p.ms = parseInt(v,10)*100; } },
|
|
215
|
-
SS: { rx: '(\\d{2})', set: function(p,v){ p.ms = parseInt(v,10)*10; } },
|
|
216
|
-
SSS: { rx: '(\\d{3})', set: function(p,v){ p.ms = parseInt(v,10); } },
|
|
217
|
-
A: { rx: '(AM|PM)', set: function(p,v){ p.ampm = v; } },
|
|
218
|
-
a: { rx: '(am|pm)', set: function(p,v){ p.ampm = v.toUpperCase(); } },
|
|
219
|
-
X: { rx: '(-?\\d+)', set: function(p,v){ p.unix = parseInt(v,10); } },
|
|
220
|
-
x: { rx: '(-?\\d+)', set: function(p,v){ p.unixMs = parseInt(v,10); } },
|
|
221
|
-
Z: { rx: '([+-]\\d{2}:\\d{2}|Z)', set: function(p,v){ p.tz = v; } },
|
|
222
|
-
ZZ: { rx: '([+-]\\d{4}|Z)', set: function(p,v){ p.tz = v; } }
|
|
223
|
-
};
|
|
224
|
-
|
|
225
|
-
function parseWithFormat(str, fmts, strict, utcMode) {
|
|
226
|
-
var formatList = Array.isArray(fmts) ? fmts : [fmts];
|
|
227
|
-
for (var fi = 0; fi < formatList.length; fi++) {
|
|
228
|
-
var result = tryParseFormat(str, formatList[fi], strict, utcMode);
|
|
229
|
-
if (result.valid) return { d: result.d, utc: !!utcMode, offset: undefined };
|
|
230
|
-
}
|
|
231
|
-
return { d: new Date(NaN), utc: !!utcMode, offset: undefined };
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
function tryParseFormat(str, fmt, strict, utcMode) {
|
|
235
|
-
var tokens = [];
|
|
236
|
-
var setters = [];
|
|
237
|
-
|
|
238
|
-
// Step 1: replace tokens with placeholders, escape literal separators
|
|
239
|
-
var parts = [];
|
|
240
|
-
var remaining = fmt;
|
|
241
|
-
var tokenRx = /YYYY|YY|MM|M|DD|D|HH|H|hh|h|mm|m|ss|s|SSS|SS|S|A|a|ZZ|Z|X|x|\[([^\]]*)\]/g;
|
|
242
|
-
var lastIdx = 0;
|
|
243
|
-
var m2;
|
|
244
|
-
var regexParts = [];
|
|
245
|
-
|
|
246
|
-
tokenRx.lastIndex = 0;
|
|
247
|
-
while ((m2 = tokenRx.exec(fmt)) !== null) {
|
|
248
|
-
// Escape literal text between tokens
|
|
249
|
-
var literal = fmt.slice(lastIdx, m2.index);
|
|
250
|
-
if (literal) regexParts.push(literal.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'));
|
|
251
|
-
|
|
252
|
-
var tok = m2[0];
|
|
253
|
-
if (tok[0] === '[') {
|
|
254
|
-
// literal inside brackets
|
|
255
|
-
regexParts.push((m2[1]||'').replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'));
|
|
256
|
-
} else {
|
|
257
|
-
var def = PARSE_TOKENS[tok];
|
|
258
|
-
if (def) {
|
|
259
|
-
tokens.push(tok);
|
|
260
|
-
setters.push(def.set);
|
|
261
|
-
regexParts.push(def.rx);
|
|
262
|
-
} else {
|
|
263
|
-
regexParts.push(tok.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'));
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
lastIdx = tokenRx.lastIndex;
|
|
267
|
-
}
|
|
268
|
-
// Remaining literal after last token
|
|
269
|
-
var tail = fmt.slice(lastIdx);
|
|
270
|
-
if (tail) regexParts.push(tail.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'));
|
|
271
|
-
|
|
272
|
-
var pattern = regexParts.join('');
|
|
273
|
-
var regex = new RegExp(strict ? '^'+pattern+'$' : pattern, 'i');
|
|
274
|
-
var match = str.match(regex);
|
|
275
|
-
if (!match) return { valid: false };
|
|
276
|
-
|
|
277
|
-
var parts = { year: undefined, month: undefined, day: undefined, hour: undefined,
|
|
278
|
-
hour12: undefined, minute: undefined, second: undefined, ms: undefined,
|
|
279
|
-
ampm: undefined, tz: undefined, unix: undefined, unixMs: undefined };
|
|
280
|
-
|
|
281
|
-
for (var i = 0; i < setters.length; i++) {
|
|
282
|
-
setters[i](parts, match[i+1]);
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
if (parts.unixMs !== undefined) return { valid: true, d: new Date(parts.unixMs) };
|
|
286
|
-
if (parts.unix !== undefined) return { valid: true, d: new Date(parts.unix*1000) };
|
|
287
|
-
|
|
288
|
-
var now = new Date();
|
|
289
|
-
var year = parts.year !== undefined ? parts.year : now.getFullYear();
|
|
290
|
-
var month = parts.month !== undefined ? parts.month : 0;
|
|
291
|
-
var day = parts.day !== undefined ? parts.day : 1;
|
|
292
|
-
var hour = parts.hour !== undefined ? parts.hour : (parts.hour12 !== undefined ? parts.hour12 : 0);
|
|
293
|
-
var minute = parts.minute !== undefined ? parts.minute : 0;
|
|
294
|
-
var second = parts.second !== undefined ? parts.second : 0;
|
|
295
|
-
var ms = parts.ms !== undefined ? parts.ms : 0;
|
|
296
|
-
|
|
297
|
-
if (parts.ampm && parts.hour12 !== undefined) {
|
|
298
|
-
if (parts.ampm === 'PM' && hour < 12) hour += 12;
|
|
299
|
-
if (parts.ampm === 'AM' && hour === 12) hour = 0;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
var d;
|
|
303
|
-
if (parts.tz) {
|
|
304
|
-
var tzStr = parts.tz;
|
|
305
|
-
if (tzStr === 'Z') {
|
|
306
|
-
d = new Date(Date.UTC(year,month,day,hour,minute,second,ms));
|
|
307
|
-
} else {
|
|
308
|
-
var clean = tzStr.replace(':','');
|
|
309
|
-
var sign = clean[0]==='-' ? 1 : -1;
|
|
310
|
-
var tzH = parseInt(clean.slice(1,3),10);
|
|
311
|
-
var tzM = parseInt(clean.slice(3,5),10);
|
|
312
|
-
var utcMs2 = Date.UTC(year,month,day,hour,minute,second,ms);
|
|
313
|
-
d = new Date(utcMs2 + sign*(tzH*60+tzM)*60000);
|
|
314
|
-
}
|
|
315
|
-
} else if (utcMode) {
|
|
316
|
-
d = new Date(Date.UTC(year,month,day,hour,minute,second,ms));
|
|
317
|
-
} else {
|
|
318
|
-
d = new Date(year,month,day,hour,minute,second,ms);
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
return { valid: !isNaN(d.getTime()), d: d };
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
module.exports = {
|
|
325
|
-
parseInput: parseInput,
|
|
326
|
-
FORMAT_TOKENS: FORMAT_TOKENS,
|
|
327
|
-
TOKEN_REGEX: TOKEN_REGEX,
|
|
328
|
-
pad: pad,
|
|
329
|
-
dayOfYear: dayOfYear,
|
|
330
|
-
weekOfYear: weekOfYear,
|
|
331
|
-
isoWeekOfYear: isoWeekOfYear,
|
|
332
|
-
weekYear: weekYear,
|
|
333
|
-
isoWeekYear: isoWeekYear,
|
|
334
|
-
offsetStr: offsetStr
|
|
335
|
-
};
|