UNPKG

20.6 kBJavaScriptView Raw
1// https://d3js.org/d3-time-format/ v4.1.0 Copyright 2010-2021 Mike Bostock
2(function (global, factory) {
3typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-time')) :
4typeof define === 'function' && define.amd ? define(['exports', 'd3-time'], factory) :
5(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.d3 = global.d3 || {}, global.d3));
6})(this, (function (exports, d3Time) { 'use strict';
7
8function localDate(d) {
9 if (0 <= d.y && d.y < 100) {
10 var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
11 date.setFullYear(d.y);
12 return date;
13 }
14 return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);
15}
16
17function utcDate(d) {
18 if (0 <= d.y && d.y < 100) {
19 var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));
20 date.setUTCFullYear(d.y);
21 return date;
22 }
23 return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));
24}
25
26function newDate(y, m, d) {
27 return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};
28}
29
30function formatLocale(locale) {
31 var locale_dateTime = locale.dateTime,
32 locale_date = locale.date,
33 locale_time = locale.time,
34 locale_periods = locale.periods,
35 locale_weekdays = locale.days,
36 locale_shortWeekdays = locale.shortDays,
37 locale_months = locale.months,
38 locale_shortMonths = locale.shortMonths;
39
40 var periodRe = formatRe(locale_periods),
41 periodLookup = formatLookup(locale_periods),
42 weekdayRe = formatRe(locale_weekdays),
43 weekdayLookup = formatLookup(locale_weekdays),
44 shortWeekdayRe = formatRe(locale_shortWeekdays),
45 shortWeekdayLookup = formatLookup(locale_shortWeekdays),
46 monthRe = formatRe(locale_months),
47 monthLookup = formatLookup(locale_months),
48 shortMonthRe = formatRe(locale_shortMonths),
49 shortMonthLookup = formatLookup(locale_shortMonths);
50
51 var formats = {
52 "a": formatShortWeekday,
53 "A": formatWeekday,
54 "b": formatShortMonth,
55 "B": formatMonth,
56 "c": null,
57 "d": formatDayOfMonth,
58 "e": formatDayOfMonth,
59 "f": formatMicroseconds,
60 "g": formatYearISO,
61 "G": formatFullYearISO,
62 "H": formatHour24,
63 "I": formatHour12,
64 "j": formatDayOfYear,
65 "L": formatMilliseconds,
66 "m": formatMonthNumber,
67 "M": formatMinutes,
68 "p": formatPeriod,
69 "q": formatQuarter,
70 "Q": formatUnixTimestamp,
71 "s": formatUnixTimestampSeconds,
72 "S": formatSeconds,
73 "u": formatWeekdayNumberMonday,
74 "U": formatWeekNumberSunday,
75 "V": formatWeekNumberISO,
76 "w": formatWeekdayNumberSunday,
77 "W": formatWeekNumberMonday,
78 "x": null,
79 "X": null,
80 "y": formatYear,
81 "Y": formatFullYear,
82 "Z": formatZone,
83 "%": formatLiteralPercent
84 };
85
86 var utcFormats = {
87 "a": formatUTCShortWeekday,
88 "A": formatUTCWeekday,
89 "b": formatUTCShortMonth,
90 "B": formatUTCMonth,
91 "c": null,
92 "d": formatUTCDayOfMonth,
93 "e": formatUTCDayOfMonth,
94 "f": formatUTCMicroseconds,
95 "g": formatUTCYearISO,
96 "G": formatUTCFullYearISO,
97 "H": formatUTCHour24,
98 "I": formatUTCHour12,
99 "j": formatUTCDayOfYear,
100 "L": formatUTCMilliseconds,
101 "m": formatUTCMonthNumber,
102 "M": formatUTCMinutes,
103 "p": formatUTCPeriod,
104 "q": formatUTCQuarter,
105 "Q": formatUnixTimestamp,
106 "s": formatUnixTimestampSeconds,
107 "S": formatUTCSeconds,
108 "u": formatUTCWeekdayNumberMonday,
109 "U": formatUTCWeekNumberSunday,
110 "V": formatUTCWeekNumberISO,
111 "w": formatUTCWeekdayNumberSunday,
112 "W": formatUTCWeekNumberMonday,
113 "x": null,
114 "X": null,
115 "y": formatUTCYear,
116 "Y": formatUTCFullYear,
117 "Z": formatUTCZone,
118 "%": formatLiteralPercent
119 };
120
121 var parses = {
122 "a": parseShortWeekday,
123 "A": parseWeekday,
124 "b": parseShortMonth,
125 "B": parseMonth,
126 "c": parseLocaleDateTime,
127 "d": parseDayOfMonth,
128 "e": parseDayOfMonth,
129 "f": parseMicroseconds,
130 "g": parseYear,
131 "G": parseFullYear,
132 "H": parseHour24,
133 "I": parseHour24,
134 "j": parseDayOfYear,
135 "L": parseMilliseconds,
136 "m": parseMonthNumber,
137 "M": parseMinutes,
138 "p": parsePeriod,
139 "q": parseQuarter,
140 "Q": parseUnixTimestamp,
141 "s": parseUnixTimestampSeconds,
142 "S": parseSeconds,
143 "u": parseWeekdayNumberMonday,
144 "U": parseWeekNumberSunday,
145 "V": parseWeekNumberISO,
146 "w": parseWeekdayNumberSunday,
147 "W": parseWeekNumberMonday,
148 "x": parseLocaleDate,
149 "X": parseLocaleTime,
150 "y": parseYear,
151 "Y": parseFullYear,
152 "Z": parseZone,
153 "%": parseLiteralPercent
154 };
155
156 // These recursive directive definitions must be deferred.
157 formats.x = newFormat(locale_date, formats);
158 formats.X = newFormat(locale_time, formats);
159 formats.c = newFormat(locale_dateTime, formats);
160 utcFormats.x = newFormat(locale_date, utcFormats);
161 utcFormats.X = newFormat(locale_time, utcFormats);
162 utcFormats.c = newFormat(locale_dateTime, utcFormats);
163
164 function newFormat(specifier, formats) {
165 return function(date) {
166 var string = [],
167 i = -1,
168 j = 0,
169 n = specifier.length,
170 c,
171 pad,
172 format;
173
174 if (!(date instanceof Date)) date = new Date(+date);
175
176 while (++i < n) {
177 if (specifier.charCodeAt(i) === 37) {
178 string.push(specifier.slice(j, i));
179 if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);
180 else pad = c === "e" ? " " : "0";
181 if (format = formats[c]) c = format(date, pad);
182 string.push(c);
183 j = i + 1;
184 }
185 }
186
187 string.push(specifier.slice(j, i));
188 return string.join("");
189 };
190 }
191
192 function newParse(specifier, Z) {
193 return function(string) {
194 var d = newDate(1900, undefined, 1),
195 i = parseSpecifier(d, specifier, string += "", 0),
196 week, day;
197 if (i != string.length) return null;
198
199 // If a UNIX timestamp is specified, return it.
200 if ("Q" in d) return new Date(d.Q);
201 if ("s" in d) return new Date(d.s * 1000 + ("L" in d ? d.L : 0));
202
203 // If this is utcParse, never use the local timezone.
204 if (Z && !("Z" in d)) d.Z = 0;
205
206 // The am-pm flag is 0 for AM, and 1 for PM.
207 if ("p" in d) d.H = d.H % 12 + d.p * 12;
208
209 // If the month was not specified, inherit from the quarter.
210 if (d.m === undefined) d.m = "q" in d ? d.q : 0;
211
212 // Convert day-of-week and week-of-year to day-of-year.
213 if ("V" in d) {
214 if (d.V < 1 || d.V > 53) return null;
215 if (!("w" in d)) d.w = 1;
216 if ("Z" in d) {
217 week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
218 week = day > 4 || day === 0 ? d3Time.utcMonday.ceil(week) : d3Time.utcMonday(week);
219 week = d3Time.utcDay.offset(week, (d.V - 1) * 7);
220 d.y = week.getUTCFullYear();
221 d.m = week.getUTCMonth();
222 d.d = week.getUTCDate() + (d.w + 6) % 7;
223 } else {
224 week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
225 week = day > 4 || day === 0 ? d3Time.timeMonday.ceil(week) : d3Time.timeMonday(week);
226 week = d3Time.timeDay.offset(week, (d.V - 1) * 7);
227 d.y = week.getFullYear();
228 d.m = week.getMonth();
229 d.d = week.getDate() + (d.w + 6) % 7;
230 }
231 } else if ("W" in d || "U" in d) {
232 if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
233 day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
234 d.m = 0;
235 d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
236 }
237
238 // If a time zone is specified, all fields are interpreted as UTC and then
239 // offset according to the specified time zone.
240 if ("Z" in d) {
241 d.H += d.Z / 100 | 0;
242 d.M += d.Z % 100;
243 return utcDate(d);
244 }
245
246 // Otherwise, all fields are in local time.
247 return localDate(d);
248 };
249 }
250
251 function parseSpecifier(d, specifier, string, j) {
252 var i = 0,
253 n = specifier.length,
254 m = string.length,
255 c,
256 parse;
257
258 while (i < n) {
259 if (j >= m) return -1;
260 c = specifier.charCodeAt(i++);
261 if (c === 37) {
262 c = specifier.charAt(i++);
263 parse = parses[c in pads ? specifier.charAt(i++) : c];
264 if (!parse || ((j = parse(d, string, j)) < 0)) return -1;
265 } else if (c != string.charCodeAt(j++)) {
266 return -1;
267 }
268 }
269
270 return j;
271 }
272
273 function parsePeriod(d, string, i) {
274 var n = periodRe.exec(string.slice(i));
275 return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
276 }
277
278 function parseShortWeekday(d, string, i) {
279 var n = shortWeekdayRe.exec(string.slice(i));
280 return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
281 }
282
283 function parseWeekday(d, string, i) {
284 var n = weekdayRe.exec(string.slice(i));
285 return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
286 }
287
288 function parseShortMonth(d, string, i) {
289 var n = shortMonthRe.exec(string.slice(i));
290 return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
291 }
292
293 function parseMonth(d, string, i) {
294 var n = monthRe.exec(string.slice(i));
295 return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
296 }
297
298 function parseLocaleDateTime(d, string, i) {
299 return parseSpecifier(d, locale_dateTime, string, i);
300 }
301
302 function parseLocaleDate(d, string, i) {
303 return parseSpecifier(d, locale_date, string, i);
304 }
305
306 function parseLocaleTime(d, string, i) {
307 return parseSpecifier(d, locale_time, string, i);
308 }
309
310 function formatShortWeekday(d) {
311 return locale_shortWeekdays[d.getDay()];
312 }
313
314 function formatWeekday(d) {
315 return locale_weekdays[d.getDay()];
316 }
317
318 function formatShortMonth(d) {
319 return locale_shortMonths[d.getMonth()];
320 }
321
322 function formatMonth(d) {
323 return locale_months[d.getMonth()];
324 }
325
326 function formatPeriod(d) {
327 return locale_periods[+(d.getHours() >= 12)];
328 }
329
330 function formatQuarter(d) {
331 return 1 + ~~(d.getMonth() / 3);
332 }
333
334 function formatUTCShortWeekday(d) {
335 return locale_shortWeekdays[d.getUTCDay()];
336 }
337
338 function formatUTCWeekday(d) {
339 return locale_weekdays[d.getUTCDay()];
340 }
341
342 function formatUTCShortMonth(d) {
343 return locale_shortMonths[d.getUTCMonth()];
344 }
345
346 function formatUTCMonth(d) {
347 return locale_months[d.getUTCMonth()];
348 }
349
350 function formatUTCPeriod(d) {
351 return locale_periods[+(d.getUTCHours() >= 12)];
352 }
353
354 function formatUTCQuarter(d) {
355 return 1 + ~~(d.getUTCMonth() / 3);
356 }
357
358 return {
359 format: function(specifier) {
360 var f = newFormat(specifier += "", formats);
361 f.toString = function() { return specifier; };
362 return f;
363 },
364 parse: function(specifier) {
365 var p = newParse(specifier += "", false);
366 p.toString = function() { return specifier; };
367 return p;
368 },
369 utcFormat: function(specifier) {
370 var f = newFormat(specifier += "", utcFormats);
371 f.toString = function() { return specifier; };
372 return f;
373 },
374 utcParse: function(specifier) {
375 var p = newParse(specifier += "", true);
376 p.toString = function() { return specifier; };
377 return p;
378 }
379 };
380}
381
382var pads = {"-": "", "_": " ", "0": "0"},
383 numberRe = /^\s*\d+/, // note: ignores next directive
384 percentRe = /^%/,
385 requoteRe = /[\\^$*+?|[\]().{}]/g;
386
387function pad(value, fill, width) {
388 var sign = value < 0 ? "-" : "",
389 string = (sign ? -value : value) + "",
390 length = string.length;
391 return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
392}
393
394function requote(s) {
395 return s.replace(requoteRe, "\\$&");
396}
397
398function formatRe(names) {
399 return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i");
400}
401
402function formatLookup(names) {
403 return new Map(names.map((name, i) => [name.toLowerCase(), i]));
404}
405
406function parseWeekdayNumberSunday(d, string, i) {
407 var n = numberRe.exec(string.slice(i, i + 1));
408 return n ? (d.w = +n[0], i + n[0].length) : -1;
409}
410
411function parseWeekdayNumberMonday(d, string, i) {
412 var n = numberRe.exec(string.slice(i, i + 1));
413 return n ? (d.u = +n[0], i + n[0].length) : -1;
414}
415
416function parseWeekNumberSunday(d, string, i) {
417 var n = numberRe.exec(string.slice(i, i + 2));
418 return n ? (d.U = +n[0], i + n[0].length) : -1;
419}
420
421function parseWeekNumberISO(d, string, i) {
422 var n = numberRe.exec(string.slice(i, i + 2));
423 return n ? (d.V = +n[0], i + n[0].length) : -1;
424}
425
426function parseWeekNumberMonday(d, string, i) {
427 var n = numberRe.exec(string.slice(i, i + 2));
428 return n ? (d.W = +n[0], i + n[0].length) : -1;
429}
430
431function parseFullYear(d, string, i) {
432 var n = numberRe.exec(string.slice(i, i + 4));
433 return n ? (d.y = +n[0], i + n[0].length) : -1;
434}
435
436function parseYear(d, string, i) {
437 var n = numberRe.exec(string.slice(i, i + 2));
438 return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;
439}
440
441function parseZone(d, string, i) {
442 var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6));
443 return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1;
444}
445
446function parseQuarter(d, string, i) {
447 var n = numberRe.exec(string.slice(i, i + 1));
448 return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;
449}
450
451function parseMonthNumber(d, string, i) {
452 var n = numberRe.exec(string.slice(i, i + 2));
453 return n ? (d.m = n[0] - 1, i + n[0].length) : -1;
454}
455
456function parseDayOfMonth(d, string, i) {
457 var n = numberRe.exec(string.slice(i, i + 2));
458 return n ? (d.d = +n[0], i + n[0].length) : -1;
459}
460
461function parseDayOfYear(d, string, i) {
462 var n = numberRe.exec(string.slice(i, i + 3));
463 return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;
464}
465
466function parseHour24(d, string, i) {
467 var n = numberRe.exec(string.slice(i, i + 2));
468 return n ? (d.H = +n[0], i + n[0].length) : -1;
469}
470
471function parseMinutes(d, string, i) {
472 var n = numberRe.exec(string.slice(i, i + 2));
473 return n ? (d.M = +n[0], i + n[0].length) : -1;
474}
475
476function parseSeconds(d, string, i) {
477 var n = numberRe.exec(string.slice(i, i + 2));
478 return n ? (d.S = +n[0], i + n[0].length) : -1;
479}
480
481function parseMilliseconds(d, string, i) {
482 var n = numberRe.exec(string.slice(i, i + 3));
483 return n ? (d.L = +n[0], i + n[0].length) : -1;
484}
485
486function parseMicroseconds(d, string, i) {
487 var n = numberRe.exec(string.slice(i, i + 6));
488 return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;
489}
490
491function parseLiteralPercent(d, string, i) {
492 var n = percentRe.exec(string.slice(i, i + 1));
493 return n ? i + n[0].length : -1;
494}
495
496function parseUnixTimestamp(d, string, i) {
497 var n = numberRe.exec(string.slice(i));
498 return n ? (d.Q = +n[0], i + n[0].length) : -1;
499}
500
501function parseUnixTimestampSeconds(d, string, i) {
502 var n = numberRe.exec(string.slice(i));
503 return n ? (d.s = +n[0], i + n[0].length) : -1;
504}
505
506function formatDayOfMonth(d, p) {
507 return pad(d.getDate(), p, 2);
508}
509
510function formatHour24(d, p) {
511 return pad(d.getHours(), p, 2);
512}
513
514function formatHour12(d, p) {
515 return pad(d.getHours() % 12 || 12, p, 2);
516}
517
518function formatDayOfYear(d, p) {
519 return pad(1 + d3Time.timeDay.count(d3Time.timeYear(d), d), p, 3);
520}
521
522function formatMilliseconds(d, p) {
523 return pad(d.getMilliseconds(), p, 3);
524}
525
526function formatMicroseconds(d, p) {
527 return formatMilliseconds(d, p) + "000";
528}
529
530function formatMonthNumber(d, p) {
531 return pad(d.getMonth() + 1, p, 2);
532}
533
534function formatMinutes(d, p) {
535 return pad(d.getMinutes(), p, 2);
536}
537
538function formatSeconds(d, p) {
539 return pad(d.getSeconds(), p, 2);
540}
541
542function formatWeekdayNumberMonday(d) {
543 var day = d.getDay();
544 return day === 0 ? 7 : day;
545}
546
547function formatWeekNumberSunday(d, p) {
548 return pad(d3Time.timeSunday.count(d3Time.timeYear(d) - 1, d), p, 2);
549}
550
551function dISO(d) {
552 var day = d.getDay();
553 return (day >= 4 || day === 0) ? d3Time.timeThursday(d) : d3Time.timeThursday.ceil(d);
554}
555
556function formatWeekNumberISO(d, p) {
557 d = dISO(d);
558 return pad(d3Time.timeThursday.count(d3Time.timeYear(d), d) + (d3Time.timeYear(d).getDay() === 4), p, 2);
559}
560
561function formatWeekdayNumberSunday(d) {
562 return d.getDay();
563}
564
565function formatWeekNumberMonday(d, p) {
566 return pad(d3Time.timeMonday.count(d3Time.timeYear(d) - 1, d), p, 2);
567}
568
569function formatYear(d, p) {
570 return pad(d.getFullYear() % 100, p, 2);
571}
572
573function formatYearISO(d, p) {
574 d = dISO(d);
575 return pad(d.getFullYear() % 100, p, 2);
576}
577
578function formatFullYear(d, p) {
579 return pad(d.getFullYear() % 10000, p, 4);
580}
581
582function formatFullYearISO(d, p) {
583 var day = d.getDay();
584 d = (day >= 4 || day === 0) ? d3Time.timeThursday(d) : d3Time.timeThursday.ceil(d);
585 return pad(d.getFullYear() % 10000, p, 4);
586}
587
588function formatZone(d) {
589 var z = d.getTimezoneOffset();
590 return (z > 0 ? "-" : (z *= -1, "+"))
591 + pad(z / 60 | 0, "0", 2)
592 + pad(z % 60, "0", 2);
593}
594
595function formatUTCDayOfMonth(d, p) {
596 return pad(d.getUTCDate(), p, 2);
597}
598
599function formatUTCHour24(d, p) {
600 return pad(d.getUTCHours(), p, 2);
601}
602
603function formatUTCHour12(d, p) {
604 return pad(d.getUTCHours() % 12 || 12, p, 2);
605}
606
607function formatUTCDayOfYear(d, p) {
608 return pad(1 + d3Time.utcDay.count(d3Time.utcYear(d), d), p, 3);
609}
610
611function formatUTCMilliseconds(d, p) {
612 return pad(d.getUTCMilliseconds(), p, 3);
613}
614
615function formatUTCMicroseconds(d, p) {
616 return formatUTCMilliseconds(d, p) + "000";
617}
618
619function formatUTCMonthNumber(d, p) {
620 return pad(d.getUTCMonth() + 1, p, 2);
621}
622
623function formatUTCMinutes(d, p) {
624 return pad(d.getUTCMinutes(), p, 2);
625}
626
627function formatUTCSeconds(d, p) {
628 return pad(d.getUTCSeconds(), p, 2);
629}
630
631function formatUTCWeekdayNumberMonday(d) {
632 var dow = d.getUTCDay();
633 return dow === 0 ? 7 : dow;
634}
635
636function formatUTCWeekNumberSunday(d, p) {
637 return pad(d3Time.utcSunday.count(d3Time.utcYear(d) - 1, d), p, 2);
638}
639
640function UTCdISO(d) {
641 var day = d.getUTCDay();
642 return (day >= 4 || day === 0) ? d3Time.utcThursday(d) : d3Time.utcThursday.ceil(d);
643}
644
645function formatUTCWeekNumberISO(d, p) {
646 d = UTCdISO(d);
647 return pad(d3Time.utcThursday.count(d3Time.utcYear(d), d) + (d3Time.utcYear(d).getUTCDay() === 4), p, 2);
648}
649
650function formatUTCWeekdayNumberSunday(d) {
651 return d.getUTCDay();
652}
653
654function formatUTCWeekNumberMonday(d, p) {
655 return pad(d3Time.utcMonday.count(d3Time.utcYear(d) - 1, d), p, 2);
656}
657
658function formatUTCYear(d, p) {
659 return pad(d.getUTCFullYear() % 100, p, 2);
660}
661
662function formatUTCYearISO(d, p) {
663 d = UTCdISO(d);
664 return pad(d.getUTCFullYear() % 100, p, 2);
665}
666
667function formatUTCFullYear(d, p) {
668 return pad(d.getUTCFullYear() % 10000, p, 4);
669}
670
671function formatUTCFullYearISO(d, p) {
672 var day = d.getUTCDay();
673 d = (day >= 4 || day === 0) ? d3Time.utcThursday(d) : d3Time.utcThursday.ceil(d);
674 return pad(d.getUTCFullYear() % 10000, p, 4);
675}
676
677function formatUTCZone() {
678 return "+0000";
679}
680
681function formatLiteralPercent() {
682 return "%";
683}
684
685function formatUnixTimestamp(d) {
686 return +d;
687}
688
689function formatUnixTimestampSeconds(d) {
690 return Math.floor(+d / 1000);
691}
692
693var locale;
694exports.timeFormat = void 0;
695exports.timeParse = void 0;
696exports.utcFormat = void 0;
697exports.utcParse = void 0;
698
699defaultLocale({
700 dateTime: "%x, %X",
701 date: "%-m/%-d/%Y",
702 time: "%-I:%M:%S %p",
703 periods: ["AM", "PM"],
704 days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
705 shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
706 months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
707 shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
708});
709
710function defaultLocale(definition) {
711 locale = formatLocale(definition);
712 exports.timeFormat = locale.format;
713 exports.timeParse = locale.parse;
714 exports.utcFormat = locale.utcFormat;
715 exports.utcParse = locale.utcParse;
716 return locale;
717}
718
719var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ";
720
721function formatIsoNative(date) {
722 return date.toISOString();
723}
724
725var formatIso = Date.prototype.toISOString
726 ? formatIsoNative
727 : exports.utcFormat(isoSpecifier);
728
729function parseIsoNative(string) {
730 var date = new Date(string);
731 return isNaN(date) ? null : date;
732}
733
734var parseIso = +new Date("2000-01-01T00:00:00.000Z")
735 ? parseIsoNative
736 : exports.utcParse(isoSpecifier);
737
738exports.isoFormat = formatIso;
739exports.isoParse = parseIso;
740exports.timeFormatDefaultLocale = defaultLocale;
741exports.timeFormatLocale = formatLocale;
742
743Object.defineProperty(exports, '__esModule', { value: true });
744
745}));