Moment-timezone: parsing time zone offset with second fails

Created on 24 Jul 2019  路  4Comments  路  Source: moment/moment-timezone

moment("1899-06-28T23:27:52.000+08:27:52") // invalid date!

Above code results Invalid Date because moment cannot parse timezone offset with the second part.

Though the format is not standard, it is valid Korean standard time before GMT is adopted in Korea on April 1st, 1908. (see this: https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B5%AD_%ED%91%9C%EC%A4%80%EC%8B%9C) Can this case be considered? This bug affects business logic on my work.

bug

Most helpful comment

According Wikipedia's Time in North Korea Document, "Hanyang (Seoul) which was calculated to be UTC+08:27:52[Ref: A Bridge between Conceptual Frameworks: Sciences, Society and Technology Studies edited by Raffaele Pisano]. In 1442".

image

All 4 comments

The document only says it was +08:28, not +08:27:52 though...

@saschanaz ,

The document only says it was +08:28, not +08:27:52 though...

Yeah, Wikipedia does not mention about the second unit of offset. The premodern time standard is quite an ambiguous problem, but implementations like java ZonedDateTime are designed with later one:
1-934-0f55c3

The Intl implementation in Firefox also generates +08:27:52:

> Intl.DateTimeFormat("default", { timeZone: "Asia/Seoul", timeZoneName: "long" }).format(new Date("1900-01-01T00:00:00"))
"1/1/1900, GMT+08:27:52"

According Wikipedia's Time in North Korea Document, "Hanyang (Seoul) which was calculated to be UTC+08:27:52[Ref: A Bridge between Conceptual Frameworks: Sciences, Society and Technology Studies edited by Raffaele Pisano]. In 1442".

image

Was this page helpful?
0 / 5 - 0 ratings