assert.sameValue(Date.parse("2024-01-15T12:30:45+05:00"), 1705303845000, "+05:00");
assert.sameValue(Date.parse("2024-01-15T12:30:45-08:00"), 1705350645000, "-08:00");
assert.sameValue(Date.parse("2024-01-15T12:30:45.500+05:00"), 1705303845500, "offset with milliseconds");
assert.sameValue(Date.parse("2024-01-15T12:30:45+00:00"), 1705321845000, "+00:00 equals UTC");
assert.sameValue(Date.parse("2024-01-15T12:30:45+0500"), 1705303845000, "offset without a colon");
assert.sameValue(Date.parse("2024-01-15T12:30:45+05:00"), Date.parse("2024-01-15T07:30:45Z"), "+05:00 == Z-5h");
assert.sameValue(Date.parse("2024-01-15T12:30:45-08:00"), Date.parse("2024-01-15T20:30:45Z"), "-08:00 == Z+8h");
assert.sameValue(Date.parse("2024-01-15T12:30:45Z"), 1705321845000, "Z");
assert.sameValue(Date.parse("2024-01-15T12:30:45"), 1705321845000, "no designator -> UTC");
assert.sameValue(new Date("2024-01-15T12:30:45+05:00").getUTCHours(), 7, "getUTCHours after offset");
assert.sameValue(new Date(Date.parse("2024-06-15T12:00:00+02:00")).toISOString(), "2024-06-15T10:00:00.000Z", "round-trip to UTC");
assert.sameValue(isNaN(Date.parse("2024-01-15T12:30:45+99:99x")), true, "invalid offset -> NaN");