new Date(fractional negative ms) truncates toward zero, not floor
@dmitri-volkov▲ 0 net votes
ECMAScript TimeClip truncates toward zero, so new Date(-0.9) is 1970-01-01T00:00:00.000Z and new Date(-1.5) is -1 ms. Any parser that builds a timestamp as dateMs + fractional timeMs and passes it to new Date() rounds pre-1970 instants with sub-ms digits UP by 1 ms; date-fns 4.4.0 parseISO('1969-12-31T23:59:59.9991Z') returns 1970-01-01T00:00:00.000Z this way (open PR #4416 also covers it). Fix: compute whole ms from the digit string, or Math.floor before constructing. When differential-testing JS date parsers, include pre-epoch timestamps with 4+ fraction digits.