Have you ever written a code that deals with dates and times in foreign regions? Have you ever written code that takes daylight savings time into account?
In this article, I will introduce the tz database, which many people, including Japan, may have taken care of without noticing when dealing with the date and time, and I will also publish a record of reading the definition information.
I think there are many things that aren't accurate, so if you have any questions, please leave a comment or edit request!
The tz database is published on this page.
Quoted from Wikipedia.
The tz database is data recorded by volunteers collaborating on standard time (time zone) information in each region of the world. It is primarily intended for use in computer programs and operating systems [3]. The abbreviation is tz data, also known as zoneinfo database, and is also called the Olson database after Arthur David Olson, who contributed to the creation of the database. [4] Paul Eggert is the editor and administrator of the tz database. [5] Since October 2011, The Internet Corporation for Assigned Names and Numbers (ICANN) and the Internet Assigned Numbers Authority (IANA) have been added to the management.
Japan has long adopted standard time of +9 hours from Coordinated Universal Time (UTC) without adopting daylight saving time, but it is frequently changed by politics in some foreign regions. For example, recently, Brazil has abolished summertime from 2019, and Russia's Volgograd has changed the standard time from UTC + 03 to UTC + 04 from October 28, 2018.
The tz database is a collection of data that defines what date and time rules each region has from when to when, thanks to the efforts of many volunteers, and the OS and date and time library are specified by referring to this tz database. You will be able to calculate the appropriate date and time for your region.
The version consists of "
The ID of each area is like "
The following two points are listed here.
Linux
Check if you are using tz database on your Ubuntu 18.04.
The package "tzdata" seems to handle tz database from the version name of.
$ apt show tzdata
Package: tzdata
Version: 2019c-0ubuntu0.18.04
Priority: important
Section: libs
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: GNU Libc Maintainers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 3,107 kB
Provides: tzdata-buster
Depends: debconf (>= 0.5) | debconf-2.0
Replaces: libc0.1, libc0.3, libc6, libc6.1
Homepage: https://www.iana.org/time-zones
Task: minimal
Supported: 5y
Download-Size: 190 kB
APT-Manual-Installed: yes
APT-Sources: http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
Description:Time zone and daylight saving time data
This package contains the data needed to implement local time in many typical locations around the world. Political party changes to time zone boundaries, UTC
It is updated regularly to reflect the offset and the Summer Time Rule.
When I checked the installation destination of the tzdata package, it seems that it is installed in / user / share / zoneinfo.
$ dpkg -L tzdata
/.
/usr
/usr/sbin
/usr/sbin/tzconfig
/usr/share
/usr/share/doc
/usr/share/doc/tzdata
/usr/share/doc/tzdata/README.Debian
/usr/share/doc/tzdata/changelog.Debian.gz
/usr/share/doc/tzdata/copyright
/usr/share/zoneinfo
/usr/share/zoneinfo/Africa
/usr/share/zoneinfo/Africa/Abidjan
/usr/share/zoneinfo/Africa/Accra
/usr/share/zoneinfo/Africa/Addis_Ababa
/usr/share/zoneinfo/Africa/Algiers
/usr/share/zoneinfo/Africa/Bangui
/usr/share/zoneinfo/Africa/Bissau
/usr/share/zoneinfo/Africa/Blantyre
/usr/share/zoneinfo/Africa/Casablanca
(Abbreviation)
/usr/share/zoneinfo/right/US/Hawaii
/usr/share/zoneinfo/right/US/Indiana-Starke
/usr/share/zoneinfo/right/US/Michigan
/usr/share/zoneinfo/right/US/Mountain
/usr/share/zoneinfo/right/US/Pacific
/usr/share/zoneinfo/right/US/Pacific-New
/usr/share/zoneinfo/right/US/Samoa
/usr/share/zoneinfo/right/UTC
/usr/share/zoneinfo/right/Universal
/usr/share/zoneinfo/right/Zulu
It's not clear from this information alone how this data is handled, but at least Ubuntu seems to include a tz database.
Moment.js
Moment.js is a well-known library that handles JavaScript date and time. Moment-timezone is a plugin for handling timezones in this Moment.js.
You can handle the time zone as follows.
sample.js
const moment = require('moment-timezone');
console.log(moment.tz('2019-01-05 12:00', 'UTC').tz('America/New_York').format()); // 2019-01-05T07:00:00-05:00
console.log(moment.tz('2019-07-05 12:00', 'UTC').tz('America/New_York').format()); // 2019-07-05T08:00:00-04:00
If you look inside the data directory of moment-timezone, you will find information that seems to have been generated based on the tz database.
From here, I would like to see what the current time zone rules for each region are. The reading is described in tz-how-to.html included in the tz database.
The version of tz database you read this time is 2019c. Also, from now on, the word "present" should be interpreted as referring to as of December 6, 2019.
Asia/Tokyo
As of now, Japan does not use daylight saving time, but uses UTC + 9 throughout the year. Based on that, let's look at the definition of Tokyo in Japan.
The definition of Tokyo is Asia / Tokyo, which is as follows.
https://github.com/eggert/tz/blob/2019c/asia#L1910-L1912
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
9:00 Japan J%sT
Except for comments, the first line is set to UTC time until 15:00 on December 31, 1887, so the current setting should apply the definition of the second line with UNTIL not set.
The second line now has a UTC offset of 9:00, and the format of the timezone abbreviation used at that time is "J% sT" according to the definition of Rule Japan described later. "% S" is set to the letter LETTER, which is the column defined in Japan's Rule, which will be described later, and "S" or "D" is set, and "JST" (Japan Standard Time) or "JDT" (Japan Daylight). Saving Time).
Let's take a look at the rules of "Japan".
https://github.com/eggert/tz/blob/2019c/asia#L1873-L1877
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Japan 1948 only - May Sat>=1 24:00 1:00 D
Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S
Rule Japan 1949 only - Apr Sat>=1 24:00 1:00 D
Rule Japan 1950 1951 - May Sat>=1 24:00 1:00 D
Except for comments, the first line is a rule only for 1948, and it will be JDT from 24:00 on the first Saturday of May, and the daylight saving time will be +1 hour off from standard time. The second line is the rule for the period 1948-1951, which will be JST from 25:00 on the second Saturday of September. The third line is a rule only for 1949, and it will be JDT from 24:00 on the first Saturday of April, and the daylight saving time will be +1 hour off from standard time. The fourth line is the rule for the period from 1950 to 1951, which will be JDT from 24:00 on the first Saturday of May, and the daylight saving time will be +1 hour off standard time. These seem to be the rules when daylight saving time was temporarily adopted after the war.
And it seems that the current "Japan" rules that I want to confirm are not written.
I couldn't find what would happen if no rules were set, but given the current situation in Japan, if no rules for that period were found, the Zone definition would remain STDOFF and the offset would be I'm guessing it will be 9:00, but what about it? I would like to find out at a later date.
I wondered if there was a definition of a time zone abbreviation such as JST or JDT somewhere, but I couldn't find anything other than the following comments.
https://github.com/eggert/tz/blob/2019c/asia#L40-L55
# The following alphabetic abbreviations appear in these tables
# (corrections are welcome):
# std dst
# LMT Local Mean Time
# 2:00 EET EEST Eastern European Time
# 2:00 IST IDT Israel
# 5:30 IST India
# 7:00 WIB west Indonesia (Waktu Indonesia Barat)
# 8:00 WITA central Indonesia (Waktu Indonesia Tengah)
# 8:00 CST China
# 8:00 HKT HKST Hong Kong (HKWT* for Winter Time in late 1941)
# 8:00 PST PDT* Philippines
# 8:30 KST KDT Korea when at +0830
# 9:00 WIT east Indonesia (Waktu Indonesia Timur)
# 9:00 JST JDT Japan
# 9:00 KST KDT Korea when at +09
America/Los_Angeles
Currently, in the United States, daylight saving time is from 2:00 on the second Sunday in March to 2:00 on the first Sunday in November. With that in mind, let's look at the definition of Los Angeles in the United States.
The definition of Los Angeles is America / Los_Angeles, which is:
https://github.com/eggert/tz/blob/2019c/northamerica#L562-L566
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
-8:00 US P%sT 1946
-8:00 CA P%sT 1967
-8:00 US P%sT
The "% s" of FORMAT is set to the character LETTER, which is the column of the US rule definition described later, and becomes "PDT", "PST", and so on.
Except for comments, the first to third lines are before 1967, and the current definition of America / Los_Angeles is the fourth line. On the 4th line, the current offset is -8:00, and the format is "P% sT" according to the US rule described later.
Let's take a look at the US rules.
https://github.com/eggert/tz/blob/2019c/northamerica#L173-L186
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule US 1918 1919 - Mar lastSun 2:00 1:00 D
Rule US 1918 1919 - Oct lastSun 2:00 0 S
Rule US 1942 only - Feb 9 2:00 1:00 W # War
Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule US 1945 only - Sep 30 2:00 0 S
Rule US 1967 2006 - Oct lastSun 2:00 0 S
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
Rule US 1974 only - Jan 6 2:00 1:00 D
Rule US 1975 only - Feb lastSun 2:00 1:00 D
Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
Rule US 2007 max - Nov Sun>=1 2:00 0 S
For now, it seems that you should refer to the following part.
Rule US 2007 max - Mar Sun>=8 2:00 1:00 D Rule US 2007 max - Nov Sun>=1 2:00 0 S
From 2007 to the present, the "US" rule defines that PDT (Pacific Daylight Time), that is, daylight saving time, will be adopted from 2:00 on the second Sunday of March, adding one hour from standard time. It seems. From 2007 to the present, the "US" rule seems to be PST (Pacific Standard Time) from 2:00 on the first Sunday of November.
Africa/Casablanca
Until 2018/10/28, Morocco will use UTC + 0 in standard time and UTC + 1 in daylight saving time. We used to go back to UTC + 0 when Ramadan time comes during summertime and back to UTC + 1 during summertime when Ramadan time ends. From 2018, it will be summer time all year round, and it will be basic UTC + 1, and it will be UTC + 0 in the original standard time only during Ramadan. In addition, the start time and end time of these periods seem to be different every year.
With that in mind, let's take a look at Casablanca in Morocco.
The definition of Casablanca is Africa / Casablanca, which is as follows.
https://github.com/eggert/tz/blob/2019c/africa#L1086-L1091
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco +00/+01 1984 Mar 16
1:00 - +01 1986
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
Except for comments, the 4th line was 0 o'clock in standard time until October 28, 2018, and it seems that it followed the rule called Morocco described later. The offset on the last line is 1:00, which also follows the Morocco rule.
I didn't know if I would interpret "+ 00 / + 01" or "+ 01 / + 00" in FORMAT. Does it mean that it is usually on the left side of the "/" and in some cases on the right side?
Let's take a look at Morocco's rules.
https://github.com/eggert/tz/blob/2019c/africa#L897-L1080
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
Rule Morocco 1939 only - Nov 19 0:00 0 -
Rule Morocco 1940 only - Feb 25 0:00 1:00 -
Rule Morocco 1945 only - Nov 18 0:00 0 -
Rule Morocco 1950 only - Jun 11 0:00 1:00 -
Rule Morocco 1950 only - Oct 29 0:00 0 -
Rule Morocco 1967 only - Jun 3 12:00 1:00 -
Rule Morocco 1967 only - Oct 1 0:00 0 -
Rule Morocco 1974 only - Jun 24 0:00 1:00 -
Rule Morocco 1974 only - Sep 1 0:00 0 -
Rule Morocco 1976 1977 - May 1 0:00 1:00 -
Rule Morocco 1976 only - Aug 1 0:00 0 -
Rule Morocco 1977 only - Sep 28 0:00 0 -
Rule Morocco 1978 only - Jun 1 0:00 1:00 -
Rule Morocco 1978 only - Aug 4 0:00 0 -
Rule Morocco 2008 only - Jun 1 0:00 1:00 -
Rule Morocco 2008 only - Sep 1 0:00 0 -
Rule Morocco 2009 only - Jun 1 0:00 1:00 -
Rule Morocco 2009 only - Aug 21 0:00 0 -
Rule Morocco 2010 only - May 2 0:00 1:00 -
Rule Morocco 2010 only - Aug 8 0:00 0 -
Rule Morocco 2011 only - Apr 3 0:00 1:00 -
Rule Morocco 2011 only - Jul 31 0:00 0 -
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 -
Rule Morocco 2012 only - Jul 20 3:00 0 -
Rule Morocco 2012 only - Aug 20 2:00 1:00 -
Rule Morocco 2012 only - Sep 30 3:00 0 -
Rule Morocco 2013 only - Jul 7 3:00 0 -
Rule Morocco 2013 only - Aug 10 2:00 1:00 -
Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
Rule Morocco 2014 2018 - Mar lastSun 2:00 1:00 -
Rule Morocco 2014 only - Jun 28 3:00 0 -
Rule Morocco 2014 only - Aug 2 2:00 1:00 -
Rule Morocco 2015 only - Jun 14 3:00 0 -
Rule Morocco 2015 only - Jul 19 2:00 1:00 -
Rule Morocco 2016 only - Jun 5 3:00 0 -
Rule Morocco 2016 only - Jul 10 2:00 1:00 -
Rule Morocco 2017 only - May 21 3:00 0 -
Rule Morocco 2017 only - Jul 2 2:00 1:00 -
Rule Morocco 2018 only - May 13 3:00 0 -
Rule Morocco 2018 only - Jun 17 2:00 1:00 -
Rule Morocco 2019 only - May 5 3:00 -1:00 -
Rule Morocco 2019 only - Jun 9 2:00 0 -
Rule Morocco 2020 only - Apr 19 3:00 -1:00 -
Rule Morocco 2020 only - May 24 2:00 0 -
Rule Morocco 2021 only - Apr 11 3:00 -1:00 -
Rule Morocco 2021 only - May 16 2:00 0 -
Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
Rule Morocco 2022 only - May 8 2:00 0 -
Rule Morocco 2023 only - Mar 19 3:00 -1:00 -
Rule Morocco 2023 only - Apr 23 2:00 0 -
Rule Morocco 2024 only - Mar 10 3:00 -1:00 -
Rule Morocco 2024 only - Apr 14 2:00 0 -
Rule Morocco 2025 only - Feb 23 3:00 -1:00 -
Rule Morocco 2025 only - Apr 6 2:00 0 -
Rule Morocco 2026 only - Feb 15 3:00 -1:00 -
Rule Morocco 2026 only - Mar 22 2:00 0 -
Rule Morocco 2027 only - Feb 7 3:00 -1:00 -
Rule Morocco 2027 only - Mar 14 2:00 0 -
Rule Morocco 2028 only - Jan 23 3:00 -1:00 -
Rule Morocco 2028 only - Feb 27 2:00 0 -
Rule Morocco 2029 only - Jan 14 3:00 -1:00 -
Rule Morocco 2029 only - Feb 18 2:00 0 -
Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
Rule Morocco 2030 only - Feb 10 2:00 0 -
Rule Morocco 2030 only - Dec 22 3:00 -1:00 -
Rule Morocco 2031 only - Jan 26 2:00 0 -
Rule Morocco 2031 only - Dec 14 3:00 -1:00 -
Rule Morocco 2032 only - Jan 18 2:00 0 -
Rule Morocco 2032 only - Nov 28 3:00 -1:00 -
Rule Morocco 2033 only - Jan 9 2:00 0 -
Rule Morocco 2033 only - Nov 20 3:00 -1:00 -
Rule Morocco 2033 only - Dec 25 2:00 0 -
Rule Morocco 2034 only - Nov 5 3:00 -1:00 -
Rule Morocco 2034 only - Dec 17 2:00 0 -
Rule Morocco 2035 only - Oct 28 3:00 -1:00 -
Rule Morocco 2035 only - Dec 2 2:00 0 -
Rule Morocco 2036 only - Oct 19 3:00 -1:00 -
Rule Morocco 2036 only - Nov 23 2:00 0 -
Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
Rule Morocco 2037 only - Nov 15 2:00 0 -
Rule Morocco 2038 only - Sep 26 3:00 -1:00 -
Rule Morocco 2038 only - Oct 31 2:00 0 -
Rule Morocco 2039 only - Sep 18 3:00 -1:00 -
Rule Morocco 2039 only - Oct 23 2:00 0 -
Rule Morocco 2040 only - Sep 2 3:00 -1:00 -
Rule Morocco 2040 only - Oct 14 2:00 0 -
Rule Morocco 2041 only - Aug 25 3:00 -1:00 -
Rule Morocco 2041 only - Sep 29 2:00 0 -
Rule Morocco 2042 only - Aug 10 3:00 -1:00 -
Rule Morocco 2042 only - Sep 21 2:00 0 -
Rule Morocco 2043 only - Aug 2 3:00 -1:00 -
Rule Morocco 2043 only - Sep 6 2:00 0 -
Rule Morocco 2044 only - Jul 24 3:00 -1:00 -
Rule Morocco 2044 only - Aug 28 2:00 0 -
Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
Rule Morocco 2045 only - Aug 20 2:00 0 -
Rule Morocco 2046 only - Jul 1 3:00 -1:00 -
Rule Morocco 2046 only - Aug 5 2:00 0 -
Rule Morocco 2047 only - Jun 23 3:00 -1:00 -
Rule Morocco 2047 only - Jul 28 2:00 0 -
Rule Morocco 2048 only - Jun 7 3:00 -1:00 -
Rule Morocco 2048 only - Jul 19 2:00 0 -
Rule Morocco 2049 only - May 30 3:00 -1:00 -
Rule Morocco 2049 only - Jul 4 2:00 0 -
Rule Morocco 2050 only - May 15 3:00 -1:00 -
Rule Morocco 2050 only - Jun 26 2:00 0 -
Rule Morocco 2051 only - May 7 3:00 -1:00 -
Rule Morocco 2051 only - Jun 11 2:00 0 -
Rule Morocco 2052 only - Apr 28 3:00 -1:00 -
Rule Morocco 2052 only - Jun 2 2:00 0 -
Rule Morocco 2053 only - Apr 13 3:00 -1:00 -
Rule Morocco 2053 only - May 25 2:00 0 -
Rule Morocco 2054 only - Apr 5 3:00 -1:00 -
Rule Morocco 2054 only - May 10 2:00 0 -
Rule Morocco 2055 only - Mar 28 3:00 -1:00 -
Rule Morocco 2055 only - May 2 2:00 0 -
Rule Morocco 2056 only - Mar 12 3:00 -1:00 -
Rule Morocco 2056 only - Apr 23 2:00 0 -
Rule Morocco 2057 only - Mar 4 3:00 -1:00 -
Rule Morocco 2057 only - Apr 8 2:00 0 -
Rule Morocco 2058 only - Feb 17 3:00 -1:00 -
Rule Morocco 2058 only - Mar 31 2:00 0 -
Rule Morocco 2059 only - Feb 9 3:00 -1:00 -
Rule Morocco 2059 only - Mar 16 2:00 0 -
Rule Morocco 2060 only - Feb 1 3:00 -1:00 -
Rule Morocco 2060 only - Mar 7 2:00 0 -
Rule Morocco 2061 only - Jan 16 3:00 -1:00 -
Rule Morocco 2061 only - Feb 27 2:00 0 -
Rule Morocco 2062 only - Jan 8 3:00 -1:00 -
Rule Morocco 2062 only - Feb 12 2:00 0 -
Rule Morocco 2062 only - Dec 31 3:00 -1:00 -
Rule Morocco 2063 only - Feb 4 2:00 0 -
Rule Morocco 2063 only - Dec 16 3:00 -1:00 -
Rule Morocco 2064 only - Jan 20 2:00 0 -
Rule Morocco 2064 only - Dec 7 3:00 -1:00 -
Rule Morocco 2065 only - Jan 11 2:00 0 -
Rule Morocco 2065 only - Nov 22 3:00 -1:00 -
Rule Morocco 2066 only - Jan 3 2:00 0 -
Rule Morocco 2066 only - Nov 14 3:00 -1:00 -
Rule Morocco 2066 only - Dec 19 2:00 0 -
Rule Morocco 2067 only - Nov 6 3:00 -1:00 -
Rule Morocco 2067 only - Dec 11 2:00 0 -
Rule Morocco 2068 only - Oct 21 3:00 -1:00 -
Rule Morocco 2068 only - Dec 2 2:00 0 -
Rule Morocco 2069 only - Oct 13 3:00 -1:00 -
Rule Morocco 2069 only - Nov 17 2:00 0 -
Rule Morocco 2070 only - Oct 5 3:00 -1:00 -
Rule Morocco 2070 only - Nov 9 2:00 0 -
Rule Morocco 2071 only - Sep 20 3:00 -1:00 -
Rule Morocco 2071 only - Oct 25 2:00 0 -
Rule Morocco 2072 only - Sep 11 3:00 -1:00 -
Rule Morocco 2072 only - Oct 16 2:00 0 -
Rule Morocco 2073 only - Aug 27 3:00 -1:00 -
Rule Morocco 2073 only - Oct 8 2:00 0 -
Rule Morocco 2074 only - Aug 19 3:00 -1:00 -
Rule Morocco 2074 only - Sep 23 2:00 0 -
Rule Morocco 2075 only - Aug 11 3:00 -1:00 -
Rule Morocco 2075 only - Sep 15 2:00 0 -
Rule Morocco 2076 only - Jul 26 3:00 -1:00 -
Rule Morocco 2076 only - Sep 6 2:00 0 -
Rule Morocco 2077 only - Jul 18 3:00 -1:00 -
Rule Morocco 2077 only - Aug 22 2:00 0 -
Rule Morocco 2078 only - Jul 10 3:00 -1:00 -
Rule Morocco 2078 only - Aug 14 2:00 0 -
Rule Morocco 2079 only - Jun 25 3:00 -1:00 -
Rule Morocco 2079 only - Jul 30 2:00 0 -
Rule Morocco 2080 only - Jun 16 3:00 -1:00 -
Rule Morocco 2080 only - Jul 21 2:00 0 -
Rule Morocco 2081 only - Jun 1 3:00 -1:00 -
Rule Morocco 2081 only - Jul 13 2:00 0 -
Rule Morocco 2082 only - May 24 3:00 -1:00 -
Rule Morocco 2082 only - Jun 28 2:00 0 -
Rule Morocco 2083 only - May 16 3:00 -1:00 -
Rule Morocco 2083 only - Jun 20 2:00 0 -
Rule Morocco 2084 only - Apr 30 3:00 -1:00 -
Rule Morocco 2084 only - Jun 11 2:00 0 -
Rule Morocco 2085 only - Apr 22 3:00 -1:00 -
Rule Morocco 2085 only - May 27 2:00 0 -
Rule Morocco 2086 only - Apr 14 3:00 -1:00 -
Rule Morocco 2086 only - May 19 2:00 0 -
Rule Morocco 2087 only - Mar 30 3:00 -1:00 -
Rule Morocco 2087 only - May 4 2:00 0 -
It seems that the rules are not regular, so they are defined every year. Let's read the part from 2017 onwards to the present.
Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
Rule Morocco 2014 2018 - Mar lastSun 2:00 1:00 -
(Abbreviation)
Rule Morocco 2017 only - May 21 3:00 0 -
Rule Morocco 2017 only - Jul 2 2:00 1:00 -
Rule Morocco 2018 only - May 13 3:00 0 -
Rule Morocco 2018 only - Jun 17 2:00 1:00 -
Rule Morocco 2019 only - May 5 3:00 -1:00 -
Rule Morocco 2019 only - Jun 9 2:00 0 -
From 2013 to 2018, the rules of "Morocco" seem to define standard time from 3 o'clock on the last Sunday of October. From 2014 to 2018, it seems that one hour will be added from standard time from 2:00 on the last Sunday of March. In 2017, it seems that standard time is defined from 3:00 on May 21st. In 2017, it seems that one hour will be added at standard time from 2:00 on July 2nd. In 2018, it seems that standard time is defined from 3:00 on May 13th. In 2018, it seems that one hour will be added at standard time from 2:00 on June 17th. In 2019, it seems that one hour will be subtracted from standard time from 3:00 on May 5th. In 2019, it seems that standard time will be defined from 2:00 on June 9th.
I'll also re-paste the above Zone definition that applies after 2016.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca (Abbreviation)
(Abbreviation)
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
Considering this information, it seems that 2017-2019 will be the following transition.
Definition of UTC + 0 # Zone in standard time until 3:00 on October 28, 2018 Since it will be standard time from 3:00 on the last Sunday of October 2016, it will change to UTC + 0 # Start standard time Since it will be +1 standard time from 2 o'clock on the last Sunday of March 2017, it will change to UTC + 1 # Summer time start Since it will be standard time from 3 o'clock on May 21, 2017, it will change to UTC + 0 # Ramadan start Since it will be +1 standard time from 2 o'clock on July 2, 2017, it will change to UTC + 1 # Ramadan end Since it will be standard time from 3:00 on the last Sunday of October 2017, it will change to UTC + 0 # Start standard time Since it will be +1 standard time from 2 o'clock on the last Sunday of March 2018, it will change to UTC + 1 # Summer time start Since it will be standard time from 3 o'clock on May 13, 2018, it will change to UTC + 0 # Ramadan start Since it will be +1 standard time from 2 o'clock on June 17, 2018, it will change to UTC + 1 # Ramadan end Changed standard time to UTC + 1 from 3:00 on October 28, 2018 #Definition of Zone Since it will be standard time from 3 o'clock on the last Sunday (10/28) of October 2018, continue with UTC + 1 # Daylight saving time continues Since it will be -1 standard time from 3 o'clock on May 5, 2019, it will change to UTC + 0 # Ramadan start It will change to UTC + 1 because it will be standard time from 2 o'clock on June 9, 2019 # Ramadan end
This concludes the guidance and implementation procedure for the tz database.
Release notes for the tz database can be found in the NEWS file. By reading this regularly, you can keep track of how time zones are changing in the world.
If you are interested in tz database, please read the NEWS file and time zone information of various regions.