跳到主要内容

时间与时区服务

对物联网设备来说,尤其是在实现设备定时等功能时,时间与时区至关重要。在了解时间与时区服务前,我们需要先熟悉以下两个概念:

  1. 网络时间:即当前世界标准时间 (UTC)
  2. 时区:相对于世界标准时间 (UTC) 存在偏移量,部分时区存在夏令时

ESP RainMaker 为时间与时区服务提供了数个 API。详细文档请参见 Utilities

网络时间

网络时间通常通过 SNTP 获取。ESP RainMaker 在 ESP-IDF 的 SNTP 组件上提供了抽象层。

ESP RainMaker 提供如下 API:

  • 初始化时间同步
    • esp_err_t esp_rmaker_time_sync_init(esp_rmaker_time_config_t *config)
  • 检查时间同步是否完成
    • bool esp_rmaker_time_check(void)
  • 等待时间同步
    • esp_err_t esp_rmaker_time_wait_for_sync(uint32_t ticks_to_wait)

注意:如果在传递给 esp_rmaker_node_init()esp_rmaker_config_t 中设置了 enable_time_sync=true,则会在内部调用 esp_rmaker_time_sync_init()

时区

ESP-IDF 支持使用 TZ 变量以及 tz_set() API 设置时区。有关 TZ 变量的信息,请参见 GNU libc 文档。ESP RainMaker 在 ESP-IDF 的基础上提供了额外抽象层,并支持通过多种方式设置时区。时区主要有以下两个相关变量:

  1. 时区变量 (Timezone):用户友好的时区字符串,例如 Asia/Shanghai,常用于包括 iOS 和 Android 在内的大多数系统。请前往 支持的时区值,查看完整的支持列表。使用任意 API 设置时区变量,都会根据每次 映射,在内部设置 POSIX 时区。
  2. POSIX 时区变量 (POSIX Timezone):符合 GNU libc 文档 TZ 章节 中列出的前两类格式的时区字符串。此变量包含时区名称(如 CST)、相对于 UTC 的偏移量以及夏令时的开始及结束时间。支持使用此变量创建自定义时区。

ESP RainMaker 支持通过以下多种方式设置上述变量:

C API

C API 将时区变量存储在 NVS 中。即便在重启后,仅需调用 esp_rmaker_time_sync_init() 即可自动设置时区。

  • 使用时间与时区字符串设置时区
    • esp_err_t esp_rmaker_time_set_timezone(const char *tz);
  • 使用 POSIX 格式字符串设置时区
    • esp_err_t esp_rmaker_time_set_timezone_posix(const char *tz_posix)

Config 选项

使用 CONFIG_ESP_RMAKER_DEF_TIMEZONE 可设置时间与时区字符串,默认为空,即 UTC。需注意,如果使用 C API 设置时区,在 C API 中设置的值将覆盖 Config 选项配置值。

RainMaker 服务

也可使用 RainMaker 的可选服务,通过手机应用等客户端设置时区。启用方式如下:

esp_err_t esp_rmaker_timezone_service_enable(void);

运行上述命令行,将以下 服务 添加至节点配置中:

{
"name": "Time",
"params": [{
"data_type": "string",
"name": "TZ",
"properties": [
"read",
"write"
],
"type": "esp.param.tz"
},
{
"data_type": "string",
"name": "TZ-POSIX",
"properties": [
"read",
"write"
],
"type": "esp.param.tz_posix"
}
],
"type": "esp.service.time"
}

带有示例值的对应参数如下:

{
"Time": {
"TZ": "America/Los_Angeles",
"TZ-POSIX": "PST8PDT,M3.2.0,M11.1.0"
}
}

写入 esp.param.tz 时也将自动设置 esp.param.tz_posix。写入值存储在 NVS 中,不受重启影响。在启用服务之前,可以通过调用对应的 C API 设置默认值。

支持的时区值

注意:此列表为使用 esp_rmaker_time_set_timezone() API、esp.param.tz 参数或 CONFIG_ESP_RMAKER_DEF_TIMEZONE Config 选项设置时间与时区字符串的有效值集合。

对于 POSIX 时区参数,即 esp_rmaker_time_set_timezone_posix()esp.param.tz_posix,可以使用列表以外的其他值,但需符合 GNU libc 文档 TZ 章节 中列出的前两类格式。

时间与时区字符串POSIX 时区字符串
Africa/AbidjanGMT0
Africa/AccraGMT0
Africa/Addis_AbabaEAT-3
Africa/AlgiersCET-1
Africa/AsmaraEAT-3
Africa/BamakoGMT0
Africa/BanguiWAT-1
Africa/BanjulGMT0
Africa/BissauGMT0
Africa/BlantyreCAT-2
Africa/BrazzavilleWAT-1
Africa/BujumburaCAT-2
Africa/CairoEET-2
Africa/Casablanca<+01>-1
Africa/CeutaCET-1CEST,M3.5.0,M10.5.0/3
Africa/ConakryGMT0
Africa/DakarGMT0
Africa/Dar_es_SalaamEAT-3
Africa/DjiboutiEAT-3
Africa/DoualaWAT-1
Africa/El_Aaiun<+01>-1
Africa/FreetownGMT0
Africa/GaboroneCAT-2
Africa/HarareCAT-2
Africa/JohannesburgSAST-2
Africa/JubaEAT-3
Africa/KampalaEAT-3
Africa/KhartoumCAT-2
Africa/KigaliCAT-2
Africa/KinshasaWAT-1
Africa/LagosWAT-1
Africa/LibrevilleWAT-1
Africa/LomeGMT0
Africa/LuandaWAT-1
Africa/LubumbashiCAT-2
Africa/LusakaCAT-2
Africa/MalaboWAT-1
Africa/MaputoCAT-2
Africa/MaseruSAST-2
Africa/MbabaneSAST-2
Africa/MogadishuEAT-3
Africa/MonroviaGMT0
Africa/NairobiEAT-3
Africa/NdjamenaWAT-1
Africa/NiameyWAT-1
Africa/NouakchottGMT0
Africa/OuagadougouGMT0
Africa/Porto-NovoWAT-1
Africa/Sao_TomeGMT0
Africa/TripoliEET-2
Africa/TunisCET-1
Africa/WindhoekCAT-2
America/AdakHST10HDT,M3.2.0,M11.1.0
America/AnchorageAKST9AKDT,M3.2.0,M11.1.0
America/AnguillaAST4
America/AntiguaAST4
America/Araguaina<-03>3
America/Argentina/Buenos_Aires<-03>3
America/Argentina/Catamarca<-03>3
America/Argentina/Cordoba<-03>3
America/Argentina/Jujuy<-03>3
America/Argentina/La_Rioja<-03>3
America/Argentina/Mendoza<-03>3
America/Argentina/Rio_Gallegos<-03>3
America/Argentina/Salta<-03>3
America/Argentina/San_Juan<-03>3
America/Argentina/San_Luis<-03>3
America/Argentina/Tucuman<-03>3
America/Argentina/Ushuaia<-03>3
America/ArubaAST4
America/Asuncion<-04>4<-03>,M10.1.0/0,M3.4.0/0
America/AtikokanEST5
America/Bahia<-03>3
America/Bahia_BanderasCST6CDT,M4.1.0,M10.5.0
America/BarbadosAST4
America/Belem<-03>3
America/BelizeCST6
America/Blanc-SablonAST4
America/Boa_Vista<-04>4
America/Bogota<-05>5
America/BoiseMST7MDT,M3.2.0,M11.1.0
America/Cambridge_BayMST7MDT,M3.2.0,M11.1.0
America/Campo_Grande<-04>4
America/CancunEST5
America/Caracas<-04>4
America/Cayenne<-03>3
America/CaymanEST5
America/ChicagoCST6CDT,M3.2.0,M11.1.0
America/ChihuahuaMST7MDT,M4.1.0,M10.5.0
America/Costa_RicaCST6
America/CrestonMST7
America/Cuiaba<-04>4
America/CuracaoAST4
America/DanmarkshavnGMT0
America/DawsonMST7
America/Dawson_CreekMST7
America/DenverMST7MDT,M3.2.0,M11.1.0
America/DetroitEST5EDT,M3.2.0,M11.1.0
America/DominicaAST4
America/EdmontonMST7MDT,M3.2.0,M11.1.0
America/Eirunepe<-05>5
America/El_SalvadorCST6
America/Fortaleza<-03>3
America/Fort_NelsonMST7
America/Glace_BayAST4ADT,M3.2.0,M11.1.0
America/Godthab<-03>3<-02>,M3.5.0/-2,M10.5.0/-1
America/Goose_BayAST4ADT,M3.2.0,M11.1.0
America/Grand_TurkEST5EDT,M3.2.0,M11.1.0
America/GrenadaAST4
America/GuadeloupeAST4
America/GuatemalaCST6
America/Guayaquil<-05>5
America/Guyana<-04>4
America/HalifaxAST4ADT,M3.2.0,M11.1.0
America/HavanaCST5CDT,M3.2.0/0,M11.1.0/1
America/HermosilloMST7
America/Indiana/IndianapolisEST5EDT,M3.2.0,M11.1.0
America/Indiana/KnoxCST6CDT,M3.2.0,M11.1.0
America/Indiana/MarengoEST5EDT,M3.2.0,M11.1.0
America/Indiana/PetersburgEST5EDT,M3.2.0,M11.1.0
America/Indiana/Tell_CityCST6CDT,M3.2.0,M11.1.0
America/Indiana/VevayEST5EDT,M3.2.0,M11.1.0
America/Indiana/VincennesEST5EDT,M3.2.0,M11.1.0
America/Indiana/WinamacEST5EDT,M3.2.0,M11.1.0
America/InuvikMST7MDT,M3.2.0,M11.1.0
America/IqaluitEST5EDT,M3.2.0,M11.1.0
America/JamaicaEST5
America/JuneauAKST9AKDT,M3.2.0,M11.1.0
America/Kentucky/LouisvilleEST5EDT,M3.2.0,M11.1.0
America/Kentucky/MonticelloEST5EDT,M3.2.0,M11.1.0
America/KralendijkAST4
America/La_Paz<-04>4
America/Lima<-05>5
America/Los_AngelesPST8PDT,M3.2.0,M11.1.0
America/Lower_PrincesAST4
America/Maceio<-03>3
America/ManaguaCST6
America/Manaus<-04>4
America/MarigotAST4
America/MartiniqueAST4
America/MatamorosCST6CDT,M3.2.0,M11.1.0
America/MazatlanMST7MDT,M4.1.0,M10.5.0
America/MenomineeCST6CDT,M3.2.0,M11.1.0
America/MeridaCST6CDT,M4.1.0,M10.5.0
America/MetlakatlaAKST9AKDT,M3.2.0,M11.1.0
America/Mexico_CityCST6CDT,M4.1.0,M10.5.0
America/Miquelon<-03>3<-02>,M3.2.0,M11.1.0
America/MonctonAST4ADT,M3.2.0,M11.1.0
America/MonterreyCST6CDT,M4.1.0,M10.5.0
America/Montevideo<-03>3
America/MontrealEST5EDT,M3.2.0,M11.1.0
America/MontserratAST4
America/NassauEST5EDT,M3.2.0,M11.1.0
America/New_YorkEST5EDT,M3.2.0,M11.1.0
America/NipigonEST5EDT,M3.2.0,M11.1.0
America/NomeAKST9AKDT,M3.2.0,M11.1.0
America/Noronha<-02>2
America/North_Dakota/BeulahCST6CDT,M3.2.0,M11.1.0
America/North_Dakota/CenterCST6CDT,M3.2.0,M11.1.0
America/North_Dakota/New_SalemCST6CDT,M3.2.0,M11.1.0
America/OjinagaMST7MDT,M3.2.0,M11.1.0
America/PanamaEST5
America/PangnirtungEST5EDT,M3.2.0,M11.1.0
America/Paramaribo<-03>3
America/PhoenixMST7
America/Port-au-PrinceEST5EDT,M3.2.0,M11.1.0
America/Port_of_SpainAST4
America/Porto_Velho<-04>4
America/Puerto_RicoAST4
America/Punta_Arenas<-03>3
America/Rainy_RiverCST6CDT,M3.2.0,M11.1.0
America/Rankin_InletCST6CDT,M3.2.0,M11.1.0
America/Recife<-03>3
America/ReginaCST6
America/ResoluteCST6CDT,M3.2.0,M11.1.0
America/Rio_Branco<-05>5
America/Santarem<-03>3
America/Santiago<-04>4<-03>,M9.1.6/24,M4.1.6/24
America/Santo_DomingoAST4
America/Sao_Paulo<-03>3
America/Scoresbysund<-01>1<+00>,M3.5.0/0,M10.5.0/1
America/SitkaAKST9AKDT,M3.2.0,M11.1.0
America/St_BarthelemyAST4
America/St_JohnsNST3:30NDT,M3.2.0,M11.1.0
America/St_KittsAST4
America/St_LuciaAST4
America/St_ThomasAST4
America/St_VincentAST4
America/Swift_CurrentCST6
America/TegucigalpaCST6
America/ThuleAST4ADT,M3.2.0,M11.1.0
America/Thunder_BayEST5EDT,M3.2.0,M11.1.0
America/TijuanaPST8PDT,M3.2.0,M11.1.0
America/TorontoEST5EDT,M3.2.0,M11.1.0
America/TortolaAST4
America/VancouverPST8PDT,M3.2.0,M11.1.0
America/WhitehorseMST7
America/WinnipegCST6CDT,M3.2.0,M11.1.0
America/YakutatAKST9AKDT,M3.2.0,M11.1.0
America/YellowknifeMST7MDT,M3.2.0,M11.1.0
Antarctica/Casey<+08>-8
Antarctica/Davis<+07>-7
Antarctica/DumontDUrville<+10>-10
Antarctica/Macquarie<+11>-11
Antarctica/Mawson<+05>-5
Antarctica/McMurdoNZST-12NZDT,M9.5.0,M4.1.0/3
Antarctica/Palmer<-03>3
Antarctica/Rothera<-03>3
Antarctica/Syowa<+03>-3
Antarctica/Troll<+00>0<+02>-2,M3.5.0/1,M10.5.0/3
Antarctica/Vostok<+06>-6
Arctic/LongyearbyenCET-1CEST,M3.5.0,M10.5.0/3
Asia/Aden<+03>-3
Asia/Almaty<+06>-6
Asia/AmmanEET-2EEST,M3.5.4/24,M10.5.5/1
Asia/Anadyr<+12>-12
Asia/Aqtau<+05>-5
Asia/Aqtobe<+05>-5
Asia/Ashgabat<+05>-5
Asia/Atyrau<+05>-5
Asia/Baghdad<+03>-3
Asia/Bahrain<+03>-3
Asia/Baku<+04>-4
Asia/Bangkok<+07>-7
Asia/Barnaul<+07>-7
Asia/BeirutEET-2EEST,M3.5.0/0,M10.5.0/0
Asia/Bishkek<+06>-6
Asia/Brunei<+08>-8
Asia/Chita<+09>-9
Asia/Choibalsan<+08>-8
Asia/Colombo<+0530>-5:30
Asia/DamascusEET-2EEST,M3.5.5/0,M10.5.5/0
Asia/Dhaka<+06>-6
Asia/Dili<+09>-9
Asia/Dubai<+04>-4
Asia/Dushanbe<+05>-5
Asia/FamagustaEET-2EEST,M3.5.0/3,M10.5.0/4
Asia/GazaEET-2EEST,M3.5.5/0,M10.5.6/1
Asia/HebronEET-2EEST,M3.5.5/0,M10.5.6/1
Asia/Ho_Chi_Minh<+07>-7
Asia/Hong_KongHKT-8
Asia/Hovd<+07>-7
Asia/Irkutsk<+08>-8
Asia/JakartaWIB-7
Asia/JayapuraWIT-9
Asia/JerusalemIST-2IDT,M3.4.4/26,M10.5.0
Asia/Kabul<+0430>-4:30
Asia/Kamchatka<+12>-12
Asia/KarachiPKT-5
Asia/Kathmandu<+0545>-5:45
Asia/Khandyga<+09>-9
Asia/KolkataIST-5:30
Asia/Krasnoyarsk<+07>-7
Asia/Kuala_Lumpur<+08>-8
Asia/Kuching<+08>-8
Asia/Kuwait<+03>-3
Asia/MacauCST-8
Asia/Magadan<+11>-11
Asia/MakassarWITA-8
Asia/ManilaPST-8
Asia/Muscat<+04>-4
Asia/NicosiaEET-2EEST,M3.5.0/3,M10.5.0/4
Asia/Novokuznetsk<+07>-7
Asia/Novosibirsk<+07>-7
Asia/Omsk<+06>-6
Asia/Oral<+05>-5
Asia/Phnom_Penh<+07>-7
Asia/PontianakWIB-7
Asia/PyongyangKST-9
Asia/Qatar<+03>-3
Asia/Qyzylorda<+05>-5
Asia/Riyadh<+03>-3
Asia/Sakhalin<+11>-11
Asia/Samarkand<+05>-5
Asia/SeoulKST-9
Asia/ShanghaiCST-8
Asia/Singapore<+08>-8
Asia/Srednekolymsk<+11>-11
Asia/TaipeiCST-8
Asia/Tashkent<+05>-5
Asia/Tbilisi<+04>-4
Asia/Tehran<+0330>-3:30<+0430>,J79/24,J263/24
Asia/Thimphu<+06>-6
Asia/TokyoJST-9
Asia/Tomsk<+07>-7
Asia/Ulaanbaatar<+08>-8
Asia/Urumqi<+06>-6
Asia/Ust-Nera<+10>-10
Asia/Vientiane<+07>-7
Asia/Vladivostok<+10>-10
Asia/Yakutsk<+09>-9
Asia/Yangon<+0630>-6:30
Asia/Yekaterinburg<+05>-5
Asia/Yerevan<+04>-4
Atlantic/Azores<-01>1<+00>,M3.5.0/0,M10.5.0/1
Atlantic/BermudaAST4ADT,M3.2.0,M11.1.0
Atlantic/CanaryWET0WEST,M3.5.0/1,M10.5.0
Atlantic/Cape_Verde<-01>1
Atlantic/FaroeWET0WEST,M3.5.0/1,M10.5.0
Atlantic/MadeiraWET0WEST,M3.5.0/1,M10.5.0
Atlantic/ReykjavikGMT0
Atlantic/South_Georgia<-02>2
Atlantic/Stanley<-03>3
Atlantic/St_HelenaGMT0
Australia/AdelaideACST-9:30ACDT,M10.1.0,M4.1.0/3
Australia/BrisbaneAEST-10
Australia/Broken_HillACST-9:30ACDT,M10.1.0,M4.1.0/3
Australia/CurrieAEST-10AEDT,M10.1.0,M4.1.0/3
Australia/DarwinACST-9:30
Australia/Eucla<+0845>-8:45
Australia/HobartAEST-10AEDT,M10.1.0,M4.1.0/3
Australia/LindemanAEST-10
Australia/Lord_Howe<+1030>-10:30<+11>-11,M10.1.0,M4.1.0
Australia/MelbourneAEST-10AEDT,M10.1.0,M4.1.0/3
Australia/PerthAWST-8
Australia/SydneyAEST-10AEDT,M10.1.0,M4.1.0/3
Europe/AmsterdamCET-1CEST,M3.5.0,M10.5.0/3
Europe/AndorraCET-1CEST,M3.5.0,M10.5.0/3
Europe/Astrakhan<+04>-4
Europe/AthensEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/BelgradeCET-1CEST,M3.5.0,M10.5.0/3
Europe/BerlinCET-1CEST,M3.5.0,M10.5.0/3
Europe/BratislavaCET-1CEST,M3.5.0,M10.5.0/3
Europe/BrusselsCET-1CEST,M3.5.0,M10.5.0/3
Europe/BucharestEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/BudapestCET-1CEST,M3.5.0,M10.5.0/3
Europe/BusingenCET-1CEST,M3.5.0,M10.5.0/3
Europe/ChisinauEET-2EEST,M3.5.0,M10.5.0/3
Europe/CopenhagenCET-1CEST,M3.5.0,M10.5.0/3
Europe/DublinIST-1GMT0,M10.5.0,M3.5.0/1
Europe/GibraltarCET-1CEST,M3.5.0,M10.5.0/3
Europe/GuernseyGMT0BST,M3.5.0/1,M10.5.0
Europe/HelsinkiEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/Isle_of_ManGMT0BST,M3.5.0/1,M10.5.0
Europe/Istanbul<+03>-3
Europe/JerseyGMT0BST,M3.5.0/1,M10.5.0
Europe/KaliningradEET-2
Europe/KievEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/Kirov<+03>-3
Europe/LisbonWET0WEST,M3.5.0/1,M10.5.0
Europe/LjubljanaCET-1CEST,M3.5.0,M10.5.0/3
Europe/LondonGMT0BST,M3.5.0/1,M10.5.0
Europe/LuxembourgCET-1CEST,M3.5.0,M10.5.0/3
Europe/MadridCET-1CEST,M3.5.0,M10.5.0/3
Europe/MaltaCET-1CEST,M3.5.0,M10.5.0/3
Europe/MariehamnEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/Minsk<+03>-3
Europe/MonacoCET-1CEST,M3.5.0,M10.5.0/3
Europe/MoscowMSK-3
Europe/OsloCET-1CEST,M3.5.0,M10.5.0/3
Europe/ParisCET-1CEST,M3.5.0,M10.5.0/3
Europe/PodgoricaCET-1CEST,M3.5.0,M10.5.0/3
Europe/PragueCET-1CEST,M3.5.0,M10.5.0/3
Europe/RigaEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/RomeCET-1CEST,M3.5.0,M10.5.0/3
Europe/Samara<+04>-4
Europe/San_MarinoCET-1CEST,M3.5.0,M10.5.0/3
Europe/SarajevoCET-1CEST,M3.5.0,M10.5.0/3
Europe/Saratov<+04>-4
Europe/SimferopolMSK-3
Europe/SkopjeCET-1CEST,M3.5.0,M10.5.0/3
Europe/SofiaEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/StockholmCET-1CEST,M3.5.0,M10.5.0/3
Europe/TallinnEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/TiraneCET-1CEST,M3.5.0,M10.5.0/3
Europe/Ulyanovsk<+04>-4
Europe/UzhgorodEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/VaduzCET-1CEST,M3.5.0,M10.5.0/3
Europe/VaticanCET-1CEST,M3.5.0,M10.5.0/3
Europe/ViennaCET-1CEST,M3.5.0,M10.5.0/3
Europe/VilniusEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/Volgograd<+04>-4
Europe/WarsawCET-1CEST,M3.5.0,M10.5.0/3
Europe/ZagrebCET-1CEST,M3.5.0,M10.5.0/3
Europe/ZaporozhyeEET-2EEST,M3.5.0/3,M10.5.0/4
Europe/ZurichCET-1CEST,M3.5.0,M10.5.0/3
Indian/AntananarivoEAT-3
Indian/Chagos<+06>-6
Indian/Christmas<+07>-7
Indian/Cocos<+0630>-6:30
Indian/ComoroEAT-3
Indian/Kerguelen<+05>-5
Indian/Mahe<+04>-4
Indian/Maldives<+05>-5
Indian/Mauritius<+04>-4
Indian/MayotteEAT-3
Indian/Reunion<+04>-4
Pacific/Apia<+13>-13<+14>,M9.5.0/3,M4.1.0/4
Pacific/AucklandNZST-12NZDT,M9.5.0,M4.1.0/3
Pacific/Bougainville<+11>-11
Pacific/Chatham<+1245>-12:45<+1345>,M9.5.0/2:45,M4.1.0/3:45
Pacific/Chuuk<+10>-10
Pacific/Easter<-06>6<-05>,M9.1.6/22,M4.1.6/22
Pacific/Efate<+11>-11
Pacific/Enderbury<+13>-13
Pacific/Fakaofo<+13>-13
Pacific/Fiji<+12>-12<+13>,M11.2.0,M1.2.3/99
Pacific/Funafuti<+12>-12
Pacific/Galapagos<-06>6
Pacific/Gambier<-09>9
Pacific/Guadalcanal<+11>-11
Pacific/GuamChST-10
Pacific/HonoluluHST10
Pacific/Kiritimati<+14>-14
Pacific/Kosrae<+11>-11
Pacific/Kwajalein<+12>-12
Pacific/Majuro<+12>-12
Pacific/Marquesas<-0930>9:30
Pacific/MidwaySST11
Pacific/Nauru<+12>-12
Pacific/Niue<-11>11
Pacific/Norfolk<+11>-11<+12>,M10.1.0,M4.1.0/3
Pacific/Noumea<+11>-11
Pacific/Pago_PagoSST11
Pacific/Palau<+09>-9
Pacific/Pitcairn<-08>8
Pacific/Pohnpei<+11>-11
Pacific/Port_Moresby<+10>-10
Pacific/Rarotonga<-10>10
Pacific/SaipanChST-10
Pacific/Tahiti<-10>10
Pacific/Tarawa<+12>-12
Pacific/Tongatapu<+13>-13
Pacific/Wake<+12>-12
Pacific/Wallis<+12>-12