mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-21 08:21:54 +00:00
Some checks are pending
CI / Lagom (arm64, Sanitizer_CI, false, macOS, macos-15, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, Linux, blacksmith-16vcpu-ubuntu-2404, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, Linux, blacksmith-16vcpu-ubuntu-2404, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, Linux, blacksmith-16vcpu-ubuntu-2404, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macOS, macOS-arm64, macos-15) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, Linux, Linux-x86_64, blacksmith-8vcpu-ubuntu-2404) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
For example, time zone transitions can result in repeated or skipped wall times. Temporal wants us to handle these transitions.
36 lines
882 B
C++
36 lines
882 B
C++
/*
|
|
* Copyright (c) 2024-2025, Tim Flynn <trflynn89@ladybird.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/Error.h>
|
|
#include <AK/Optional.h>
|
|
#include <AK/String.h>
|
|
#include <AK/Time.h>
|
|
#include <AK/Vector.h>
|
|
|
|
namespace Unicode {
|
|
|
|
struct TimeZoneOffset {
|
|
enum class InDST {
|
|
No,
|
|
Yes,
|
|
};
|
|
|
|
AK::Duration offset;
|
|
InDST in_dst { InDST::No };
|
|
};
|
|
|
|
String current_time_zone();
|
|
ErrorOr<void> set_current_time_zone(StringView);
|
|
void clear_system_time_zone_cache();
|
|
Vector<String> const& available_time_zones();
|
|
Vector<String> available_time_zones_in_region(StringView region);
|
|
Optional<String> resolve_primary_time_zone(StringView time_zone);
|
|
Optional<TimeZoneOffset> time_zone_offset(StringView time_zone, UnixDateTime time);
|
|
Vector<TimeZoneOffset> disambiguated_time_zone_offsets(StringView time_zone, UnixDateTime time);
|
|
|
|
}
|