mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:27:45 +00:00
LibJS: Subtract time zone offsets when converting from local time to UTC
When converting to UTC, the UTC AO first tries to disambiguate possible time zone offsets for the given local time. When doing so, the GetNamedTimeZoneEpochNanoseconds AO must *subtract* the found time zone offset from the local time to convert to UTC. The same is performed later in the UTC AO when returning the final UTC time (step 5).
This commit is contained in:
parent
2d4591dad4
commit
094f9bf6a2
1 changed files with 1 additions and 1 deletions
|
@ -342,7 +342,7 @@ Vector<Crypto::SignedBigInteger> get_named_time_zone_epoch_nanoseconds(StringVie
|
||||||
// Can only fail if the time zone identifier is invalid, which cannot be the case here.
|
// Can only fail if the time zone identifier is invalid, which cannot be the case here.
|
||||||
VERIFY(offset.has_value());
|
VERIFY(offset.has_value());
|
||||||
|
|
||||||
return { local_nanoseconds.plus(Crypto::SignedBigInteger { offset->seconds }.multiplied_by(s_one_billion_bigint)) };
|
return { local_nanoseconds.minus(Crypto::SignedBigInteger { offset->seconds }.multiplied_by(s_one_billion_bigint)) };
|
||||||
}
|
}
|
||||||
|
|
||||||
// 21.4.1.9 GetNamedTimeZoneOffsetNanoseconds ( timeZoneIdentifier, epochNanoseconds ), https://tc39.es/ecma262/#sec-getnamedtimezoneoffsetnanoseconds
|
// 21.4.1.9 GetNamedTimeZoneOffsetNanoseconds ( timeZoneIdentifier, epochNanoseconds ), https://tc39.es/ecma262/#sec-getnamedtimezoneoffsetnanoseconds
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue