summaryrefslogtreecommitdiff
path: root/Userland/Libraries
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries')
-rw-r--r--Userland/Libraries/LibJS/Runtime/Date.cpp8
-rw-r--r--Userland/Libraries/LibJS/Runtime/DateConstructor.cpp2
2 files changed, 4 insertions, 6 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/Date.cpp b/Userland/Libraries/LibJS/Runtime/Date.cpp
index 721131721d..67347545a8 100644
--- a/Userland/Libraries/LibJS/Runtime/Date.cpp
+++ b/Userland/Libraries/LibJS/Runtime/Date.cpp
@@ -317,15 +317,12 @@ u8 week_day(double t)
}
// 21.4.1.7 LocalTZA ( t, isUTC ), https://tc39.es/ecma262/#sec-local-time-zone-adjustment
-double local_tza(double time, bool is_utc, Optional<StringView> time_zone_override)
+double local_tza(double time, [[maybe_unused]] bool is_utc, Optional<StringView> time_zone_override)
{
// The time_zone_override parameter is non-standard, but allows callers to override the system
// time zone with a specific value without setting environment variables.
auto time_zone = time_zone_override.value_or(TimeZone::current_time_zone());
- auto maybe_offset = TimeZone::get_time_zone_offset(time_zone, AK::Time::from_milliseconds(time));
- auto offset = maybe_offset.value_or(0) * 1000;
-
// When isUTC is true, LocalTZA( tUTC, true ) should return the offset of the local time zone from
// UTC measured in milliseconds at time represented by time value tUTC. When the result is added to
// tUTC, it should yield the corresponding Number tlocal.
@@ -334,7 +331,8 @@ double local_tza(double time, bool is_utc, Optional<StringView> time_zone_overri
// UTC measured in milliseconds at local time represented by Number tlocal. When the result is subtracted
// from tlocal, it should yield the corresponding time value tUTC.
- return is_utc ? offset : -offset;
+ auto maybe_offset = TimeZone::get_time_zone_offset(time_zone, AK::Time::from_milliseconds(time));
+ return maybe_offset.value_or(0) * 1000;
}
// 21.4.1.8 LocalTime ( t ), https://tc39.es/ecma262/#sec-localtime
diff --git a/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp b/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp
index 25bc3def0e..a49d74f9b5 100644
--- a/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp
+++ b/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp
@@ -106,7 +106,7 @@ static Value parse_simplified_iso8601(GlobalObject& global_object, const String&
// https://tc39.es/ecma262/#sec-date.parse:
// "When the UTC offset representation is absent, date-only forms are interpreted as a UTC time and date-time forms are interpreted as a local time."
if (!timezone.has_value() && hours.has_value())
- time_ms += local_tza(time_ms, false);
+ time_ms = utc_time(time_ms);
if (timezone == '-')
time_ms += *timezone_hours * 3'600'000 + *timezone_minutes * 60'000;