Avez-vous déjà écrit du code qui traite des dates et des heures dans des régions étrangères? Avez-vous déjà écrit un code qui tient compte de l'heure d'été?
Dans cet article, je voudrais présenter la base de données tz, dont de nombreuses personnes, y compris le Japon, peuvent avoir pris en charge sans s'en apercevoir lors du traitement de la date et de l'heure, et également publier un enregistrement de la lecture des informations de définition.
Je pense qu'il y a beaucoup de choses qui ne sont pas exactes, donc si vous avez des questions, veuillez laisser un commentaire ou modifier une demande!
La base de données tz est publiée sur cette page.
Cité de Wikipedia.
La base de données tz est constituée de données enregistrées par des volontaires collaborant sur des informations d'heure standard (fuseau horaire) dans chaque région du monde. Il est principalement destiné à être utilisé dans les programmes informatiques et les systèmes d'exploitation [3]. L'abréviation est tzdata, également connue sous le nom de base de données zoneinfo, et est également appelée la base de données Olson d'après Arthur David Olson, qui a contribué à la création de la base de données. [4] Paul Eggert est l'éditeur et l'administrateur de la base de données tz. [5] Depuis octobre 2011, l'Internet Corporation for Assigned Names and Numbers (ICANN) et l'Autorité des numéros attribués par Internet (IANA) ont été ajoutés à la direction.
Depuis longtemps, le Japon a adopté l'heure standard de +9 heures à partir de l'heure universelle (UTC) sans adopter l'heure d'été, mais elle est fréquemment modifiée par la politique dans certaines régions étrangères. Par exemple, récemment, le Brésil a aboli l'heure d'été à partir de 2019, et à partir du 28 octobre 2018, Volgograd en Russie a changé l'heure standard de UTC + 03 à UTC + 04.
La base de données tz est une collection de données qui définit les règles de date et d'heure de chaque région du moment au moment, grâce aux efforts de nombreux bénévoles, et le système d'exploitation et les bibliothèques de date et d'heure sont spécifiés en se référant à cette base de données tz. Vous pourrez calculer la date et l'heure appropriées pour votre région.
La version se compose de "<année> <une lettre de l'alphabet>" et augmente comme 2018h-> 2018i-> 2019a-> 2019b. La dernière en date du 5 décembre 2019 est 2019c.
L'ID de chaque zone est comme "
Les deux points suivants sont listés ici.
Linux
Vérifiez si vous utilisez la base de données tz sur votre Ubuntu 18.04.
Le paquet "tzdata" semble gérer la base de données tz à partir du nom de version de.
$ 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:Données de fuseau horaire et d'heure d'été
Ce package contient les données nécessaires pour implémenter l'heure locale dans de nombreux endroits typiques du monde. Changements de groupe politique aux limites de fuseau horaire, UTC
Il est mis à jour régulièrement pour refléter les décalages et les règles de l'heure d'été.
Lorsque j'ai vérifié la destination d'installation du paquet tzdata, il semble qu'il soit installé dans / 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
(Abréviation)
/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
Il n'est pas clair à partir de ces informations seules comment ces données sont traitées, mais au moins Ubuntu semble inclure une base de données tz.
Moment.js
Moment.js est une bibliothèque bien connue pour gérer les dates et heures JavaScript. Moment-timezone est un plug-in pour gérer les fuseaux horaires dans ce Moment.js.
Vous pouvez gérer le fuseau horaire comme suit.
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
Si vous regardez dans le répertoire de données de moment-timezone, vous trouverez des informations qui semblent avoir été générées à partir de la base de données tz.
À partir de là, je voudrais voir quelles sont les règles de fuseau horaire actuelles pour chaque région. La lecture est décrite dans tz-how-to.html inclus dans la base de données tz.
La version de la base de données tz que vous lisez cette fois est 2019c. De plus, à partir de maintenant, le mot «présent» doit être interprété comme faisant référence au 6 décembre 2019.
Asia/Tokyo
Pour l'instant, le Japon n'utilise pas l'heure d'été, mais utilise UTC + 9 tout au long de l'année. Sur cette base, regardons la définition de Tokyo au Japon.
La définition de Tokyo est Asie / Tokyo, qui est la suivante.
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
À l'exception des commentaires, la première ligne est définie sur l'heure UTC jusqu'à 15h00 le 31 décembre 1887, de sorte que le paramètre actuel doit appliquer la définition de la deuxième ligne avec JUSQU'À non défini.
La deuxième ligne a maintenant un décalage UTC de 9:00, et le format de l'abréviation de fuseau horaire utilisé à ce moment-là suit "J% sT" selon la définition de Rule Japan décrite plus loin. "% S" est défini sur la lettre LETTER, qui est la colonne définie dans la règle du Japon, qui sera décrite plus tard, "S" ou "D" est défini, et "JST" (heure standard du Japon) ou "JDT" (heure d'été du Japon). Gagner du temps).
Jetons un œil aux règles du «Japon».
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
Sauf pour les commentaires, la première ligne est une règle uniquement pour 1948, et ce sera JDT à partir de 24h00 le premier samedi de mai, et l'heure d'été sera à +1 heure de l'heure standard. La deuxième ligne est la règle pour la période 1948-1951, qui sera JST à partir de 25h00 le deuxième samedi de septembre. La troisième ligne est une règle uniquement pour 1949, et ce sera JDT à partir de 24h00 le premier samedi d'avril, et l'heure d'été sera à +1 heure de l'heure standard. La quatrième ligne est la règle de la période de 1950 à 1951, et ce sera JDT à partir de 24h00 le premier samedi de mai, et l'heure d'été sera à +1 heure de l'heure standard. Telles semblent être les règles lorsque l'heure d'été a été temporairement adoptée après la guerre.
Et il semble que les règles actuelles du «Japon» que je souhaite confirmer ne sont pas écrites.
Je n'ai pas pu trouver ce qui se passerait si aucune règle n'était définie, mais étant donné la situation actuelle au Japon, si aucune règle pour cette période n'était trouvée, la définition de zone resterait STDOFF et le décalage serait Je suppose qu'il sera 9h00, mais qu'en est-il? Je voudrais le savoir plus tard.
Je me suis demandé s'il y avait une définition d'une abréviation de fuseau horaire telle que JST ou JDT quelque part, mais je n'ai rien trouvé d'autre que les commentaires suivants.
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
À l'heure actuelle, les États-Unis ont l'heure d'été de 2 h 00 le deuxième dimanche de mars à 2 h 00 le premier dimanche de novembre. Dans cet esprit, regardons la définition de Los Angeles aux États-Unis.
La définition de Los Angeles est America / Los_Angeles, qui se présente comme suit:
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
Dans "% s" de FORMAT, le caractère de LETTRE, qui est la colonne de la définition de la règle américaine décrite plus loin, est défini, et il devient "PDT", "PST", et ainsi de suite.
À l'exception des commentaires, la première à la troisième ligne est antérieure à 1967 et la définition actuelle de America / Los_Angeles est la quatrième ligne. Sur la 4ème ligne, le décalage actuel est -8: 00, et son format est "P% sT" selon la règle des USA décrite plus loin.
Jetons un coup d'œil aux règles américaines.
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
Pour l'instant, il semble que vous devriez vous référer à la partie suivante.
Rule US 2007 max - Mar Sun>=8 2:00 1:00 D Rule US 2007 max - Nov Sun>=1 2:00 0 S
De 2007 à nos jours, la règle "US" définit que PDT (Pacific Daylight Time), c'est-à-dire l'heure d'été, sera adopté à partir de 2h00 le deuxième dimanche de mars, une heure de plus que l'heure standard. Il semble. De 2007 à nos jours, la règle "US" semble être PST (Pacific Standard Time) à partir de 2h00 le premier dimanche de novembre.
Africa/Casablanca
Jusqu'au 28/10/2018, le Maroc définira UTC + 0 en heure standard et UTC + 1 en heure d'été. Nous avions l'habitude de revenir à UTC + 0 quand il était temps pour le Ramadan pendant l'heure d'été et de revenir à UTC + 1 pour l'heure d'été lorsque l'heure du Ramadan était terminée. À partir de 2018, ce sera l'heure d'été toute l'année, et ce sera UTC + 1 de base, et ce sera UTC + 0 à l'heure standard d'origine uniquement pendant la période du Ramadan. De plus, l'heure de début et l'heure de fin de ces périodes semblent différentes chaque année.
Sur cette base, nous regarderons Casablanca au Maroc.
La définition de Casablanca est Afrique / Casablanca, qui est la suivante.
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
Sauf pour les commentaires, la 4ème ligne était à 0 heures du temps standard jusqu'au 28 octobre 2018, et il semble qu'elle suivait la règle appelée Maroc décrite plus tard. Le décalage sur la dernière ligne est de 1h00, ce qui suit également la règle marocaine.
Je ne savais pas si j'interpréterais "+ 00 / + 01" ou "+ 01 / + 00" en FORMAT. Cela signifie-t-il qu'il est généralement du côté gauche du "/" et dans certains cas du côté droit?
Jetons un coup d'œil aux règles du Maroc.
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 -
Il semble que les règles ne soient pas régulières, elles sont donc définies chaque année. Lisons la partie de 2017 à nos jours.
Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
Rule Morocco 2014 2018 - Mar lastSun 2:00 1:00 -
(Abréviation)
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 -
De 2013 à 2018, la règle «Maroc» semble définir l'heure standard à partir de 3 heures le dernier dimanche d'octobre. De 2014 à 2018, il semble qu'une heure sera ajoutée à partir de l'heure standard à partir de 2h00 le dernier dimanche de mars. En 2017, il semble que l'heure standard soit définie à partir de 3h00 le 21 mai. En 2017, il semble qu'une heure sera ajoutée à l'heure standard à partir de 2h00 le 2 juillet. En 2018, il semble que l'heure standard soit définie à partir de 3h00 le 13 mai. En 2018, il semble qu'une heure sera ajoutée à l'heure standard à partir de 2h00 le 17 juin. En 2019, il semble qu'une heure sera déduite de l'heure standard à partir de 3h00 le 5 mai. En 2019, il semble que l'heure standard sera définie à partir de 2h00 le 9 juin.
Je recollerai également la définition de zone ci-dessus qui s'applique après 2016.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca (Abréviation)
(Abréviation)
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
Compte tenu de ces informations, il semble que 2017-2019 sera la transition suivante.
Définition de la zone UTC + 0 # en heure standard jusqu'au 28 octobre 2018 à 3h00 Comme il sera l'heure standard à partir de 3h00 le dernier dimanche d'octobre 2016, elle passera à UTC + 0 # Heure standard Comme il sera +1 heure standard à partir de 2h00 le dernier dimanche de mars 2017, il passera à UTC + 1 # Heure d'été Puisqu'il sera l'heure standard à partir de 3 heures le 21 mai 2017, il passera à UTC + 0 # début du Ramadan À partir de 2h00 le 2 juillet 2017, il sera +1 heure standard, il passera donc à UTC + 1. #Ramadan end Puisqu'il sera l'heure standard à partir de 3h00 le dernier dimanche d'octobre 2017, elle passera à UTC + 0 # Heure standard de début Comme il sera +1 heure standard à partir de 2 heures le dernier dimanche de mars 2018, il passera à UTC + 1 # Début de l'heure d'été Puisqu'il sera l'heure standard à partir de 3 heures le 13 mai 2018, il passera à UTC + 0 # Début du Ramadan Comme il sera +1 heure standard à partir de 2 heures le 17 juin 2018, il passera à UTC + 1 #Ramadan end Changement de l'heure standard en UTC + 1 à partir de 3:00 le 28 octobre 2018 #Definition of Zone Puisqu'il sera l'heure standard à partir de 3 heures le dernier dimanche (10/28) d'octobre 2018, continuez avec UTC + 1 #Continue heure d'été À partir de 3h00 le 5 mai 2019, il sera -1 heure standard, il passera donc à UTC + 0 # Début du Ramadan Comme ce sera l'heure standard à partir de 14 heures le 9 juin 2019, il passera à UTC + 1 #Ramadan end
Ceci conclut la procédure d'orientation et de mise en œuvre de la base de données tz.
Les notes de mise à jour de la base de données tz se trouvent dans le fichier NEWS. En lisant ceci régulièrement, vous pouvez suivre l'évolution des fuseaux horaires dans le monde.
Si vous êtes intéressé par la base de données tz, veuillez lire le fichier NEWS et les informations de fuseau horaire de différentes régions.