Version V034 is the last version. I combine this sketch with my Word and Fibonacci clock sketches.
See here also for complete reference: Word clock
A template sketch to:
- connect to WIFI
- get the date and time via NTP
- store time in an optional DS3231 RTC
- WPS to connect automatically to a router
- OTA to upgrade the software
- SoftAP page to enter credentials instead of using WPS
- DNS to see the BLE broadcast name given on the TAB of the web page
- a HTML web page to operate the menu to control the ESP32
- a log view web page of a few Mb long
- BLE UART menu to use the menu from a phone, tablet or PC
- HTML serial monitor to see the serial output
- IR-remote control or
- rotary encoder or
- keypad to control the microcontroller or
- BLE time sender iPhone app or BLE HTML webpage to send or set time and date
- a built-in BLE time sender function that sends time and date
- controls WS2812 RGB or SK6812 RGBW LED strips.
- Send time with the HC-12 SI4438 Wireless Serial Port Module - 433MHz
The sketch is developed on an Arduino Nano ESP32 which is an ESP32-S3.
The sketch can be used with other ESP32 boards. Change the pin numbers in the sketch for the specific board.
This is a basic sketch for a ESP32 connected to:
- a LDR,
- a rotary,
- or keypad,
- or IR-remote controller
- and a DS3231 RTC-module. The DS3231 is for use when no WIFI is available and an accurate time in needed.
The sketch is a spin-off from the Arduino Nano ESP32 word clock.
This sketch has been stripped from the word clock specifics and can be used for all kind of developments where WIFI, BLE, Serial input and output is needed.
With the small or a larger Fritzing PCB design, in this repository, PCB's can be ordered from PCBway for less than €10.
The PCB's are designed for an Arduino Nano ESP32.
Fritzing design with Gerber files in this repository.
The microcontroller can be controlled with
- a BLE serial terminal program on your PC like the serial monitor of the Arduino IDE.
- a BLE serial terminal program in a browser HTML BLE serial terminal
- a tablet or phone with a serial terminal app like: BLE serial terminal or
- with a HTML page built in the sketch.
A software-enabled access point is created by the ESP32 that can be accessed in a browser with the url: http://169.4.1.1 to set up and configure the WIFI SSID and password to your router through a smartphone or web browser.
There is also a WPS method to set up a connection with the router that can be started with option Z in the menu.
With an Over the air (OTA) connection .bin software updates can be loaded.
An unique Bluetooth station name, given to the device in the menu of the ESP32, is also shown in your router and can be used as an URL, like http://GivenName, to get the menu in a browser. .
Settings are stored permanently in the ESP32.
In some browsers like Chrome and Edge it is possible to split a TAB to see the both the menu and the "Log view"
Start up logging in the Arduino IDE Serial monitor or start in your browser a web page with like 192.168.178.172 which you can find in the serial monitor or BLE serial terminal app or in your router.
Serial started
Stored settings loaded
LED strip started
Found I2C address: 0X57
Found I2C address: 0X68
External RTC module IS found
DS3231 RTC started
BLE started
Starting WIFI/NTP
[WiFi] WiFi is disconnected, will reconnect
WiFi lost connection.
[WiFi] WiFi is disconnected, will reconnect
Connected to access point
Connected to : FRITZ!BoxEd
Obtained IP address: 192.168.178.49
IP Address: 192.168.178.49
NTP is On and synced
___________________________________
I Menu, II long menu
K LDR reads/sec toggle On/Off
N Display off between Nhhhh (N2208)
R Reset settings
@ = Restart
___________________________________
Slope: 50 Min: 5 Max: 255
BLE name: WordClock
IP-address: 192.168.178.49/update
WIFI=On NTP=On BLE=On FastBLE=Off
31/05/2025 15:55:31
___________________________________
Web page started
WIFI started
31/05/2025 15:55:31
The software can be used on this PCB: small PCB.
Fritzing design with Gerber files in this repository.
Five PCB's can be ordered from PCBway for ~25€ / $.
To make life easy it is preferred to use a phone or tablet and a Bluetooth communication app to enter the WIFI credentials into the clock.

BLESerial nRF BLE Serial Pro Serial Bluetooth Terminal
-
Download a Bluetooth UART serial terminal app on your phone, PC, or tablet.
-
For IOS iPhone or iPad (Buy this one to support me): BLE Serial Pro.
Or the free, less sophisticated app: BLE serial nRF.
Tip: Turn on Fast BLE with option + in the menu for a faster transmission. -
For Android use: Serial Bluetooth terminal.
Do not turn on Fast BLE in the menu. (Off = default)
Enter the SSID name and password of your router prefixed with A for the SSID and with B for the password.
aSSIDnameand press SendbPasswordand press Send
Optionally:
cDevicenameand press Send
The device name is the name displayed in the WIFI-router and in the list of Bluetooth devices in the BLE serial terminal app.
The device receives time from the internet when connected to a router.
When a DS3231 time module is attached to the circuit board an internet connection is not required. Select in the menu that the DS3231 is used instead of the NTP time (J Toggle use DS3231 RTC module).
The name of the WIFI-station and password has to be entered once. These credentials will be stored in memory of the microprocessor.
If the sketch is started without a SSID it will start a WIFI access point you can connect to.
- Open in your phone, tablet or PC the WIFI connections. In the list of WIFI stations there will be one named: StartWordClock.
- Connect to it and enter the password:
12345678 - Enter the SSID and password of your WIFI router. These credentials can often be found at the bottom of your router.
- When Submit is pressed the ESP32 will restart and connect to the internet.
There is also a WPS method to set up a connection with the router that can be started with option Z in the menu.
If the device is connected to the internet it will seek contact with a time server (NTP connection can be turned off in the menu).
The time zone is set to UTC+1 Amsterdam but can be changed in the menu.
There are a few methods to control the device:
-
Connect the MCU with a serial cable to a PC and use a serial terminal. Sending the character
Ifor information will display the menu followed with the actual settings. -
Use the BLE connection with a UART serial terminal app on your mobile phone or tablet. Start the app, find the device in the list and connect. Send
Ito display the menu. -
Enter the IP-address shown in the serial monitor in the browser of your mobile or PC (for example:
192.168.178.49).
If the BLE beacon name of the device is wordclock (see menu → BLE name: wordclock), you can enter wordclock.local as URL in the browser instead.
If this does not work install host software:
- For Linux, install Avahi (http://avahi.org/).
- For Windows, install Bonjour (http://www.apple.com/support/bonjour/).
- For Mac OSX and iOS support is built in through Bonjour already.
With the menu many preferences can be set. These preferences are permanently stored in the Arduino Nano ESP32 storage space.
Enter the first character in the menu of the item to be changed followed with the parameter. For most entries upper and lower case are identical.
Change the name of the SSID of the router to be connected to.
aFRITZ!Box or AFRITZ!Box
Then enter the password. For example: BSecret_pass
and cMydevice as a name of the BLE beacon that will be shown in your phone. (default after a reset: wordclock)
Restart the MCU by sending @.
Entering CCC or ccc will toggle BLE on or off. Be careful turning it off. When BLE is off the device can only be controlled with WIFI or the USB serial port.
If not connected to WIFI and no DS3231 RTC is attached, date and time must be set by hand.
For example enter: D06112022 to set the date to 6 November 2022.
Enter for example T132145 (or 132145, or t132145) to set time to 13:21:45.
At the bottom of this page you can find the time zones.
For Central Europe the string is: CET-1CEST,M3.5.0,M10.5.0/3
Send it starting with an 'E' or 'e' in front: ECET-1CEST,M3.5.0,M10.5.0/3
Entering RRR will reset the timezone to Amsterdam CET. You will also lose your stored SSID and password with this reset.
Scan available Wi-Fi networks and print the SSIDs found. This option does not work from the menu web page.
H01 Rotary encoder
H02 Keypad
H03 Large IR-remote with numeric UP DOWN LEFT RIGHT ON/OFF and POWER
H04 Tiny IR-remote with six buttons
H05 Turn On/Off the BLE time receiver.
When enabled, the device listens for time sent by a BLE time sender app running on a nearby phone or PC and uses that to set its clock.
Compatible senders:
- HTML BLE time sender (Chrome/Edge): HTML-BLEserial
- iOS BLE time sender app: BLEtimeSender
Toggles the built-in BLE time sender. When On, the ESP32 broadcasts the current time and date over BLE every minute so nearby devices with H05 enabled can sync to it. Turning the time sender On automatically turns the time receiver (H05) Off.
Toggles the HC-12 SI4438 433MHz wireless serial time sender. When On, the current time is transmitted via the HC-12 module so other devices in range can receive and sync to it.
Start learning the keys of a new infrared remote.
i prints the short info menu.
ii prints the extended menu (long help).
When DS3231 is enabled, NTP may be turned off. Use option X to toggle NTP if needed.
Prints the LDR-readings and the calculated intensity output.
K1 Turn On and Off the display of time every minute.
K2 Turn On and Off the display of time every hour.
With N2208 the display will be turned off between 22:00 and 08:00.
Toggles the display off and on.
Toggle status LEDs on the board On/Off.
R will set all preferences to default settings. The SSID and password, timezone and rotary/IR usage will be kept.
RRR will clear SSID, password, set time zone to Amsterdam (CET-1) and turn WIFI, NTP and BLE on.
RRRRR is a total reset.
Three parameters to control the light intensity of the LED strip. The values range between 0 and 255.
The minimum light intensity prevents the LEDs from turning completely off when it is dark.
The Slope (sensitivity) controls the speed at which the maximum value is reached.
Toggle WIFI and NTP on and off. Z starts the WPS procedure to connect to a router.
The BLE UART protocol sends default packets of 20 bytes with a delay of 50 ms between packets.
The iOS BLEserial app is able to receive packets of 80 bytes or more. Option + toggles between long and short packages.
@ will restart the MCU. Settings will not be deleted.
! prints the current NTP time, internal RTC time and DS3231 time side by side — useful to verify that all clocks are in sync without triggering an update.
& will get the NTP time immediately from the internet and store it in the RTC clocks.
At the moment of writing (June 2026) the Espressif ESP32 board core V3.3.9 with the Arduino Nano ESP32 selected compiles to a working program.
Select the Nano ESP32 board from Arduino in the Arduino IDE.
There are two compiler pin numbering methods: One uses the GPIO pin numbering of the ESP32-S3 and the other Arduino pin numbering. This code works with GPIO pin numbering selected.
Install the Arduino Nano ESP32 board and use these settings:
Board: Arduino Nano ESP32
Partition Scheme: With FAT
Pin Numbering: By GPIO number (legacy) !! use this when using Neopixel
Copy the text between the quotes and paste it after the character E to set your time zone.
Africa/Abidjan,"GMT0" Africa/Accra,"GMT0" Africa/Addis_Ababa,"EAT-3" Africa/Algiers,"CET-1" Africa/Asmara,"EAT-3" Africa/Bamako,"GMT0" Africa/Bangui,"WAT-1" Africa/Banjul,"GMT0" Africa/Bissau,"GMT0" Africa/Blantyre,"CAT-2" Africa/Brazzaville,"WAT-1" Africa/Bujumbura,"CAT-2" Africa/Cairo,"EET-2" Africa/Casablanca,"<+01>-1" Africa/Ceuta,"CET-1CEST,M3.5.0,M10.5.0/3" Africa/Conakry,"GMT0" Africa/Dakar,"GMT0" Africa/Dar_es_Salaam,"EAT-3" Africa/Djibouti,"EAT-3" Africa/Douala,"WAT-1" Africa/El_Aaiun,"<+01>-1" Africa/Freetown,"GMT0" Africa/Gaborone,"CAT-2" Africa/Harare,"CAT-2" Africa/Johannesburg,"SAST-2" Africa/Juba,"CAT-2" Africa/Kampala,"EAT-3" Africa/Khartoum,"CAT-2" Africa/Kigali,"CAT-2" Africa/Kinshasa,"WAT-1" Africa/Lagos,"WAT-1" Africa/Libreville,"WAT-1" Africa/Lome,"GMT0" Africa/Luanda,"WAT-1" Africa/Lubumbashi,"CAT-2" Africa/Lusaka,"CAT-2" Africa/Malabo,"WAT-1" Africa/Maputo,"CAT-2" Africa/Maseru,"SAST-2" Africa/Mbabane,"SAST-2" Africa/Mogadishu,"EAT-3" Africa/Monrovia,"GMT0" Africa/Nairobi,"EAT-3" Africa/Ndjamena,"WAT-1" Africa/Niamey,"WAT-1" Africa/Nouakchott,"GMT0" Africa/Ouagadougou,"GMT0" Africa/Porto-Novo,"WAT-1" Africa/Sao_Tome,"GMT0" Africa/Tripoli,"EET-2" Africa/Tunis,"CET-1" Africa/Windhoek,"CAT-2" America/Adak,"HST10HDT,M3.2.0,M11.1.0" America/Anchorage,"AKST9AKDT,M3.2.0,M11.1.0" America/Anguilla,"AST4" America/Antigua,"AST4" 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/Aruba,"AST4" America/Asuncion,"<-04>4<-03>,M10.1.0/0,M3.4.0/0" America/Atikokan,"EST5" America/Bahia,"<-03>3" America/Bahia_Banderas,"CST6CDT,M4.1.0,M10.5.0" America/Barbados,"AST4" America/Belem,"<-03>3" America/Belize,"CST6" America/Blanc-Sablon,"AST4" America/Boa_Vista,"<-04>4" America/Bogota,"<-05>5" America/Boise,"MST7MDT,M3.2.0,M11.1.0" America/Cambridge_Bay,"MST7MDT,M3.2.0,M11.1.0" America/Campo_Grande,"<-04>4" America/Cancun,"EST5" America/Caracas,"<-04>4" America/Cayenne,"<-03>3" America/Cayman,"EST5" America/Chicago,"CST6CDT,M3.2.0,M11.1.0" America/Chihuahua,"MST7MDT,M4.1.0,M10.5.0" America/Costa_Rica,"CST6" America/Creston,"MST7" America/Cuiaba,"<-04>4" America/Curacao,"AST4" America/Danmarkshavn,"GMT0" America/Dawson,"MST7" America/Dawson_Creek,"MST7" America/Denver,"MST7MDT,M3.2.0,M11.1.0" America/Detroit,"EST5EDT,M3.2.0,M11.1.0" America/Dominica,"AST4" America/Edmonton,"MST7MDT,M3.2.0,M11.1.0" America/Eirunepe,"<-05>5" America/El_Salvador,"CST6" America/Fortaleza,"<-03>3" America/Fort_Nelson,"MST7" America/Glace_Bay,"AST4ADT,M3.2.0,M11.1.0" America/Godthab,"<-03>3<-02>,M3.5.0/-2,M10.5.0/-1" America/Goose_Bay,"AST4ADT,M3.2.0,M11.1.0" America/Grand_Turk,"EST5EDT,M3.2.0,M11.1.0" America/Grenada,"AST4" America/Guadeloupe,"AST4" America/Guatemala,"CST6" America/Guayaquil,"<-05>5" America/Guyana,"<-04>4" America/Halifax,"AST4ADT,M3.2.0,M11.1.0" America/Havana,"CST5CDT,M3.2.0/0,M11.1.0/1" America/Hermosillo,"MST7" America/Indiana/Indianapolis,"EST5EDT,M3.2.0,M11.1.0" America/Indiana/Knox,"CST6CDT,M3.2.0,M11.1.0" America/Indiana/Marengo,"EST5EDT,M3.2.0,M11.1.0" America/Indiana/Petersburg,"EST5EDT,M3.2.0,M11.1.0" America/Indiana/Tell_City,"CST6CDT,M3.2.0,M11.1.0" America/Indiana/Vevay,"EST5EDT,M3.2.0,M11.1.0" America/Indiana/Vincennes,"EST5EDT,M3.2.0,M11.1.0" America/Indiana/Winamac,"EST5EDT,M3.2.0,M11.1.0" America/Inuvik,"MST7MDT,M3.2.0,M11.1.0" America/Iqaluit,"EST5EDT,M3.2.0,M11.1.0" America/Jamaica,"EST5" America/Juneau,"AKST9AKDT,M3.2.0,M11.1.0" America/Kentucky/Louisville,"EST5EDT,M3.2.0,M11.1.0" America/Kentucky/Monticello,"EST5EDT,M3.2.0,M11.1.0" America/Kralendijk,"AST4" America/La_Paz,"<-04>4" America/Lima,"<-05>5" America/Los_Angeles,"PST8PDT,M3.2.0,M11.1.0" America/Lower_Princes,"AST4" America/Maceio,"<-03>3" America/Managua,"CST6" America/Manaus,"<-04>4" America/Marigot,"AST4" America/Martinique,"AST4" America/Matamoros,"CST6CDT,M3.2.0,M11.1.0" America/Mazatlan,"MST7MDT,M4.1.0,M10.5.0" America/Menominee,"CST6CDT,M3.2.0,M11.1.0" America/Merida,"CST6CDT,M4.1.0,M10.5.0" America/Metlakatla,"AKST9AKDT,M3.2.0,M11.1.0" America/Mexico_City,"CST6CDT,M4.1.0,M10.5.0" America/Miquelon,"<-03>3<-02>,M3.2.0,M11.1.0" America/Moncton,"AST4ADT,M3.2.0,M11.1.0" America/Monterrey,"CST6CDT,M4.1.0,M10.5.0" America/Montevideo,"<-03>3" America/Montreal,"EST5EDT,M3.2.0,M11.1.0" America/Montserrat,"AST4" America/Nassau,"EST5EDT,M3.2.0,M11.1.0" America/New_York,"EST5EDT,M3.2.0,M11.1.0" America/Nipigon,"EST5EDT,M3.2.0,M11.1.0" America/Nome,"AKST9AKDT,M3.2.0,M11.1.0" America/Noronha,"<-02>2" America/North_Dakota/Beulah,"CST6CDT,M3.2.0,M11.1.0" America/North_Dakota/Center,"CST6CDT,M3.2.0,M11.1.0" America/North_Dakota/New_Salem,"CST6CDT,M3.2.0,M11.1.0" America/Nuuk,"<-03>3<-02>,M3.5.0/-2,M10.5.0/-1" America/Ojinaga,"MST7MDT,M3.2.0,M11.1.0" America/Panama,"EST5" America/Pangnirtung,"EST5EDT,M3.2.0,M11.1.0" America/Paramaribo,"<-03>3" America/Phoenix,"MST7" America/Port-au-Prince,"EST5EDT,M3.2.0,M11.1.0" America/Port_of_Spain,"AST4" America/Porto_Velho,"<-04>4" America/Puerto_Rico,"AST4" America/Punta_Arenas,"<-03>3" America/Rainy_River,"CST6CDT,M3.2.0,M11.1.0" America/Rankin_Inlet,"CST6CDT,M3.2.0,M11.1.0" America/Recife,"<-03>3" America/Regina,"CST6" America/Resolute,"CST6CDT,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_Domingo,"AST4" America/Sao_Paulo,"<-03>3" America/Scoresbysund,"<-01>1<+00>,M3.5.0/0,M10.5.0/1" America/Sitka,"AKST9AKDT,M3.2.0,M11.1.0" America/St_Barthelemy,"AST4" America/St_Johns,"NST3:30NDT,M3.2.0,M11.1.0" America/St_Kitts,"AST4" America/St_Lucia,"AST4" America/St_Thomas,"AST4" America/St_Vincent,"AST4" America/Swift_Current,"CST6" America/Tegucigalpa,"CST6" America/Thule,"AST4ADT,M3.2.0,M11.1.0" America/Thunder_Bay,"EST5EDT,M3.2.0,M11.1.0" America/Tijuana,"PST8PDT,M3.2.0,M11.1.0" America/Toronto,"EST5EDT,M3.2.0,M11.1.0" America/Tortola,"AST4" America/Vancouver,"PST8PDT,M3.2.0,M11.1.0" America/Whitehorse,"MST7" America/Winnipeg,"CST6CDT,M3.2.0,M11.1.0" America/Yakutat,"AKST9AKDT,M3.2.0,M11.1.0" America/Yellowknife,"MST7MDT,M3.2.0,M11.1.0" Antarctica/Casey,"<+11>-11" Antarctica/Davis,"<+07>-7" Antarctica/DumontDUrville,"<+10>-10" Antarctica/Macquarie,"AEST-10AEDT,M10.1.0,M4.1.0/3" Antarctica/Mawson,"<+05>-5" Antarctica/McMurdo,"NZST-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/Longyearbyen,"CET-1CEST,M3.5.0,M10.5.0/3" Asia/Aden,"<+03>-3" Asia/Almaty,"<+06>-6" Asia/Amman,"EET-2EEST,M2.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/Beirut,"EET-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/Damascus,"EET-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/Famagusta,"EET-2EEST,M3.5.0/3,M10.5.0/4" Asia/Gaza,"EET-2EEST,M3.4.4/48,M10.5.5/1" Asia/Hebron,"EET-2EEST,M3.4.4/48,M10.5.5/1" Asia/Ho_Chi_Minh,"<+07>-7" Asia/Hong_Kong,"HKT-8" Asia/Hovd,"<+07>-7" Asia/Irkutsk,"<+08>-8" Asia/Jakarta,"WIB-7" Asia/Jayapura,"WIT-9" Asia/Jerusalem,"IST-2IDT,M3.4.4/26,M10.5.0" Asia/Kabul,"<+0430>-4:30" Asia/Kamchatka,"<+12>-12" Asia/Karachi,"PKT-5" Asia/Kathmandu,"<+0545>-5:45" Asia/Khandyga,"<+09>-9" Asia/Kolkata,"IST-5:30" Asia/Krasnoyarsk,"<+07>-7" Asia/Kuala_Lumpur,"<+08>-8" Asia/Kuching,"<+08>-8" Asia/Kuwait,"<+03>-3" Asia/Macau,"CST-8" Asia/Magadan,"<+11>-11" Asia/Makassar,"WITA-8" Asia/Manila,"PST-8" Asia/Muscat,"<+04>-4" Asia/Nicosia,"EET-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/Pontianak,"WIB-7" Asia/Pyongyang,"KST-9" Asia/Qatar,"<+03>-3" Asia/Qyzylorda,"<+05>-5" Asia/Riyadh,"<+03>-3" Asia/Sakhalin,"<+11>-11" Asia/Samarkand,"<+05>-5" Asia/Seoul,"KST-9" Asia/Shanghai,"CST-8" Asia/Singapore,"<+08>-8" Asia/Srednekolymsk,"<+11>-11" Asia/Taipei,"CST-8" Asia/Tashkent,"<+05>-5" Asia/Tbilisi,"<+04>-4" Asia/Tehran,"<+0330>-3:30<+0430>,J79/24,J263/24" Asia/Thimphu,"<+06>-6" Asia/Tokyo,"JST-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/Bermuda,"AST4ADT,M3.2.0,M11.1.0" Atlantic/Canary,"WET0WEST,M3.5.0/1,M10.5.0" Atlantic/Cape_Verde,"<-01>1" Atlantic/Faroe,"WET0WEST,M3.5.0/1,M10.5.0" Atlantic/Madeira,"WET0WEST,M3.5.0/1,M10.5.0" Atlantic/Reykjavik,"GMT0" Atlantic/South_Georgia,"<-02>2" Atlantic/Stanley,"<-03>3" Atlantic/St_Helena,"GMT0" Australia/Adelaide,"ACST-9:30ACDT,M10.1.0,M4.1.0/3" Australia/Brisbane,"AEST-10" Australia/Broken_Hill,"ACST-9:30ACDT,M10.1.0,M4.1.0/3" Australia/Currie,"AEST-10AEDT,M10.1.0,M4.1.0/3" Australia/Darwin,"ACST-9:30" Australia/Eucla,"<+0845>-8:45" Australia/Hobart,"AEST-10AEDT,M10.1.0,M4.1.0/3" Australia/Lindeman,"AEST-10" Australia/Lord_Howe,"<+1030>-10:30<+11>-11,M10.1.0,M4.1.0" Australia/Melbourne,"AEST-10AEDT,M10.1.0,M4.1.0/3" Australia/Perth,"AWST-8" Australia/Sydney,"AEST-10AEDT,M10.1.0,M4.1.0/3" Europe/Amsterdam,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Andorra,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Astrakhan,"<+04>-4" Europe/Athens,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Belgrade,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Berlin,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Bratislava,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Brussels,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Bucharest,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Budapest,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Busingen,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Chisinau,"EET-2EEST,M3.5.0,M10.5.0/3" Europe/Copenhagen,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Dublin,"IST-1GMT0,M10.5.0,M3.5.0/1" Europe/Gibraltar,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Guernsey,"GMT0BST,M3.5.0/1,M10.5.0" Europe/Helsinki,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Isle_of_Man,"GMT0BST,M3.5.0/1,M10.5.0" Europe/Istanbul,"<+03>-3" Europe/Jersey,"GMT0BST,M3.5.0/1,M10.5.0" Europe/Kaliningrad,"EET-2" Europe/Kiev,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Kirov,"<+03>-3" Europe/Lisbon,"WET0WEST,M3.5.0/1,M10.5.0" Europe/Ljubljana,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/London,"GMT0BST,M3.5.0/1,M10.5.0" Europe/Luxembourg,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Madrid,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Malta,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Mariehamn,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Minsk,"<+03>-3" Europe/Monaco,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Moscow,"MSK-3" Europe/Oslo,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Paris,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Podgorica,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Prague,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Riga,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Rome,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Samara,"<+04>-4" Europe/San_Marino,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Sarajevo,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Saratov,"<+04>-4" Europe/Simferopol,"MSK-3" Europe/Skopje,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Sofia,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Stockholm,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Tallinn,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Tirane,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Ulyanovsk,"<+04>-4" Europe/Uzhgorod,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Vaduz,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Vatican,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Vienna,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Vilnius,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Volgograd,"<+03>-3" Europe/Warsaw,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Zagreb,"CET-1CEST,M3.5.0,M10.5.0/3" Europe/Zaporozhye,"EET-2EEST,M3.5.0/3,M10.5.0/4" Europe/Zurich,"CET-1CEST,M3.5.0,M10.5.0/3" Indian/Antananarivo,"EAT-3" Indian/Chagos,"<+06>-6" Indian/Christmas,"<+07>-7" Indian/Cocos,"<+0630>-6:30" Indian/Comoro,"EAT-3" Indian/Kerguelen,"<+05>-5" Indian/Mahe,"<+04>-4" Indian/Maldives,"<+05>-5" Indian/Mauritius,"<+04>-4" Indian/Mayotte,"EAT-3" Indian/Reunion,"<+04>-4" Pacific/Apia,"<+13>-13" Pacific/Auckland,"NZST-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/Guam,"ChST-10" Pacific/Honolulu,"HST10" Pacific/Kiritimati,"<+14>-14" Pacific/Kosrae,"<+11>-11" Pacific/Kwajalein,"<+12>-12" Pacific/Majuro,"<+12>-12" Pacific/Marquesas,"<-0930>9:30" Pacific/Midway,"SST11" 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_Pago,"SST11" Pacific/Palau,"<+09>-9" Pacific/Pitcairn,"<-08>8" Pacific/Pohnpei,"<+11>-11" Pacific/Port_Moresby,"<+10>-10" Pacific/Rarotonga,"<-10>10" Pacific/Saipan,"ChST-10" Pacific/Tahiti,"<-10>10" Pacific/Tarawa,"<+12>-12" Pacific/Tongatapu,"<+13>-13" Pacific/Wake,"<+12>-12" Pacific/Wallis,"<+12>-12" Etc/GMT,"GMT0" Etc/GMT-0,"GMT0" Etc/GMT-1,"<+01>-1" Etc/GMT-2,"<+02>-2" Etc/GMT-3,"<+03>-3" Etc/GMT-4,"<+04>-4" Etc/GMT-5,"<+05>-5" Etc/GMT-6,"<+06>-6" Etc/GMT-7,"<+07>-7" Etc/GMT-8,"<+08>-8" Etc/GMT-9,"<+09>-9" Etc/GMT-10,"<+10>-10" Etc/GMT-11,"<+11>-11" Etc/GMT-12,"<+12>-12" Etc/GMT-13,"<+13>-13" Etc/GMT-14,"<+14>-14" Etc/GMT0,"GMT0" Etc/GMT+0,"GMT0" Etc/GMT+1,"<-01>1" Etc/GMT+2,"<-02>2" Etc/GMT+3,"<-03>3" Etc/GMT+4,"<-04>4" Etc/GMT+5,"<-05>5" Etc/GMT+6,"<-06>6" Etc/GMT+7,"<-07>7" Etc/GMT+8,"<-08>8" Etc/GMT+9,"<-09>9" Etc/GMT+10,"<-10>10" Etc/GMT+11,"<-11>11" Etc/GMT+12,"<-12>12" Etc/UCT,"UTC0" Etc/UTC,"UTC0" Etc/Greenwich,"GMT0" Etc/Universal,"UTC0" Etc/Zulu,"UTC0"

