1 | import { isValid } from "./isValid.mjs";
|
2 | import { toDate } from "./toDate.mjs";
|
3 | import { addLeadingZeros } from "./_lib/addLeadingZeros.mjs";
|
4 |
|
5 | const days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
6 |
|
7 | const months = [
|
8 | "Jan",
|
9 | "Feb",
|
10 | "Mar",
|
11 | "Apr",
|
12 | "May",
|
13 | "Jun",
|
14 | "Jul",
|
15 | "Aug",
|
16 | "Sep",
|
17 | "Oct",
|
18 | "Nov",
|
19 | "Dec",
|
20 | ];
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 | export function formatRFC7231(date) {
|
45 | const _date = toDate(date);
|
46 |
|
47 | if (!isValid(_date)) {
|
48 | throw new RangeError("Invalid time value");
|
49 | }
|
50 |
|
51 | const dayName = days[_date.getUTCDay()];
|
52 | const dayOfMonth = addLeadingZeros(_date.getUTCDate(), 2);
|
53 | const monthName = months[_date.getUTCMonth()];
|
54 | const year = _date.getUTCFullYear();
|
55 |
|
56 | const hour = addLeadingZeros(_date.getUTCHours(), 2);
|
57 | const minute = addLeadingZeros(_date.getUTCMinutes(), 2);
|
58 | const second = addLeadingZeros(_date.getUTCSeconds(), 2);
|
59 |
|
60 |
|
61 | return `${dayName}, ${dayOfMonth} ${monthName} ${year} ${hour}:${minute}:${second} GMT`;
|
62 | }
|
63 |
|
64 |
|
65 | export default formatRFC7231;
|