Extract year, month, day, hour, minute, second and millisecond from a date
Split the UTC ISO string into its numeric parts.
function extract(dateTime) { return new Date(dateTime).toISOString().split(/[^0-9]/).slice(0, -1); }
Input & expected output
Input
"2026-10-28T14:05:09.123Z"Expected output
[
"2026",
"10",
"28",
"14",
"05",
"09",
"123"
]The edge case
Input
"2026-10-28T23:30:00-03:00"Expected output
[
"2026",
"10",
"29",
"02",
"30",
"00",
"000"
]Know the limits
- Parts are zero-padded strings in UTC, as in the original; an offset shifts them, as the edge case shows.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Extract year, month, day, hour, minute, second and millisecond from a date from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Takes a validated ISO 8601 date-time string. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Compare two dates — Compare validated ISO calendar dates in UTC and return -1, 0 or 1.
- Add AM PM suffix to an hour — Turn an hour from 0 to 23 into a 12-hour label with am or pm.
- Calculate the number of days between two dates — Count whole calendar days between two YYYY-MM-DD dates.