Skip to content
Commits on Source (4)
open_collective: joda
tidelift: maven/joda-time:joda-time
# github: [jodastephen]
# patreon: # Replace with a single Patreon username
# ko_fi: # Replace with a single Ko-fi username
# custom: # Replace with a single custom sponsorship URL
# Security Policy
## Supported Versions
If a security issue occurs, only the latest version is guaranteed to be patched.
## Reporting a Vulnerability
To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).
Tidelift will coordinate the fix and disclosure.
The Joda-Time project has been running for many years now, and the codebase is stable.
Java SE 8 contains a new date and time library that is the successor to Joda-Time.
As such Joda-Time is primarily in maintainence mode and there are few things worthy of being raised as an issue.
As such Joda-Time is primarily in maintenance mode and there are few things worthy of being raised as an issue.
**As a general rule, you should raise a question at Stack Overflow, not here.**
Before raising an issue, please check the [FAQs](http://www.joda.org/joda-time/faq.html).
Please also search Stack Overflow and the issue history at GitHub.
In particular, if the issue is Android specific, you are unlikely to get any assistance here.
Please bear in mind that I've worked on Joda-Time in my spare time, unpaid, for over 15 years.
As such, issue response time is likely to be slow.
Please bear in mind that I work on Joda-Time in my spare time, so there is no guarantee on response time.
In the unlikely event you still think you've found an issue, please delete the text above and describe the problem as follows:
......
The Joda-Time project has been running for many years now, and the codebase is stable.
Java SE 8 contains a new date and time library that is the successor to Joda-Time.
As such Joda-Time is primarily in maintainence mode and few pull requests are likely to be merged.
As such Joda-Time is primarily in maintenance mode and few pull requests are likely to be merged.
**As a general rule, most enhancement PRs will now be rejected.**
......
......@@ -51,7 +51,7 @@ Various documentation is available:
### Releases
[Release 2.10.1](https://www.joda.org/joda-time/download.html) is the current latest release.
[Release 2.10.3](https://www.joda.org/joda-time/download.html) is the current latest release.
This release is considered stable and worthy of the 2.x tag.
It depends on JDK 1.5 or later.
......@@ -62,15 +62,18 @@ Available in the [Maven Central repository](https://search.maven.org/search?q=g:
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.1</version>
<version>2.10.3</version>
</dependency>
```
**Gradle configuration:**
```groovy
compile 'joda-time:joda-time:2.10.1'
compile 'joda-time:joda-time:2.10.3'
```
![Tidelift dependency check](https://tidelift.com/badges/github/JodaOrg/joda-time)
### Related projects
Related projects at GitHub:
- https://github.com/JodaOrg/joda-time-hibernate
......@@ -82,12 +85,14 @@ Other related projects:
### Support
Please use GitHub issues and Pull Requests for support.
### History
Issue tracking and active development is at GitHub.
Historically, the project was at [Sourceforge](https://sourceforge.net/projects/joda-time/).
Please use [Stack Overflow](https://stackoverflow.com/questions/tagged/jodatime) for general usage questions.
GitHub [issues](https://github.com/JodaOrg/joda-time/issues) and [pull requests](https://github.com/JodaOrg/joda-time/pulls)
should be used when you want to help advance the project.
Commercial support is available via the
[Tidelift subscription](https://tidelift.com/subscription/pkg/maven-joda-time-joda-time?utm_source=maven-joda-time-joda-time&utm_medium=referral&utm_campaign=readme).
To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).
Tidelift will coordinate the fix and disclosure.
### Release process
......
libjoda-time-java (2.10.3-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bourg <ebourg@apache.org> Sun, 07 Jul 2019 10:48:03 +0200
libjoda-time-java (2.10.1-1) unstable; urgency=medium
* New upstream release
......
......@@ -8,7 +8,7 @@
<artifactId>joda-time</artifactId>
<packaging>jar</packaging>
<name>Joda-Time</name>
<version>2.10.1</version>
<version>2.10.3</version>
<description>Date and time library to replace JDK date handling</description>
<url>https://www.joda.org/joda-time/</url>
......@@ -52,6 +52,10 @@
<contributor>
<name>Guy Allard</name>
</contributor>
<contributor>
<name>Brad Arndt</name>
<url>https://github.com/bradarndt</url>
</contributor>
<contributor>
<name>Mikey Austin</name>
<url>https://github.com/mikey-austin</url>
......@@ -109,6 +113,10 @@
<contributor>
<name>Gwyn Evans</name>
</contributor>
<contributor>
<name>Niklas Fiekas</name>
<url>https://github.com/niklasf</url>
</contributor>
<contributor>
<name>John Fletcher</name>
</contributor>
......@@ -242,6 +250,10 @@
<contributor>
<name>Ryan Propper</name>
</contributor>
<contributor>
<name>Anton Qiu</name>
<url>https://github.com/antonqiu</url>
</contributor>
<contributor>
<name>Zhanbolat Raimbekov</name>
<url>https://github.com/janbolat</url>
......@@ -260,6 +272,10 @@
<contributor>
<name>Kandarp Shah</name>
</contributor>
<contributor>
<name>Alexander Shopov</name>
<url>https://github.com/alshopov</url>
</contributor>
<contributor>
<name>Francois Staes</name>
</contributor>
......@@ -302,7 +318,7 @@
<!-- ==================================================================== -->
<licenses>
<license>
<name>Apache 2</name>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
......@@ -878,10 +894,10 @@
<plugin>
<groupId>de.jutzig</groupId>
<artifactId>github-release-plugin</artifactId>
<version>1.1.1</version>
<version>1.3.0</version>
<configuration>
<releaseName>Release v${project.version}</releaseName>
<description>See the [change notes](https://www.joda.org/joda-time/changes-report.html) for more information.</description>
<description>See the [change notes](https://www.joda.org/joda-time/changes-report.html#a${project.version}) for more information.</description>
<tag>v${project.version}</tag>
<overwriteArtifact>true</overwriteArtifact>
<fileSets>
......@@ -994,7 +1010,7 @@
<maven.compiler.source>1.5</maven.compiler.source>
<maven.compiler.target>1.5</maven.compiler.target>
<maven.compiler.fork>true</maven.compiler.fork>
<maven.compiler.verbose>true</maven.compiler.verbose>
<maven.compiler.verbose>false</maven.compiler.verbose>
<maven.compiler.optimize>true</maven.compiler.optimize>
<maven.compiler.debug>true</maven.compiler.debug>
<maven.compiler.debuglevel>lines,source</maven.compiler.debuglevel>
......@@ -1007,6 +1023,6 @@
<!-- Other properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<tz.database.version>2018g</tz.database.version>
<tz.database.version>2019b</tz.database.version>
</properties>
</project>
......@@ -8,6 +8,35 @@
<body>
<!-- types are add, fix, remove, update -->
<release version="2.10.3" date="2019-07-04" description="v2.10.3">
<action dev="bradarndt" type="update">
DateTimeZone data updated to version 2019b.
</action>
</release>
<release version="2.10.2" date="2019-05-09" description="v2.10.2">
<action dev="jodastephen" type="update">
DateTimeZone data updated to version 2019a.
</action>
<action dev="jodastephen" type="fix">
Fix calculation of DateTime.withTimeAtStartOfDay() when DST is at midnight.
Fixes #488.
</action>
<action dev="antonqiu" type="fix">
Fix Period.years() factory method internal implementation.
Fixes #487.
</action>
<action dev="alshopov" type="add">
Add Bulgarian translation of periods.
Fixes #496.
</action>
<action dev="niklasf" type="fix">
Fix Czech translation of periods.
Fixes #504.
</action>
<action dev="jodastephen" type="add">
Add Tidelift commercial support and security policy.
</action>
</release>
<release version="2.10.1" date="2018-10-27" description="v2.10.1">
<action dev="jodastephen" type="update">
DateTimeZone data updated to version 2018g.
......
......@@ -5,19 +5,19 @@ Specification-Vendor: Joda.org
Specification-Version: 2.10
Implementation-Vendor: Joda.org
Implementation-Title: org.joda.time
Implementation-Version: 2.10.1
Implementation-Version: 2.10.3
Implementation-Vendor-Id: org.joda
Bundle-ManifestVersion: 2
Bundle-Vendor: Joda.org
Bundle-Name: Joda-Time
Bundle-SymbolicName: joda-time
Bundle-Version: 2.10.1
Export-Package: org.joda.time;version=2.10.1,
org.joda.time.base;version=2.10.1,
org.joda.time.chrono;version=2.10.1,
org.joda.time.convert;version=2.10.1,
org.joda.time.field;version=2.10.1,
org.joda.time.format;version=2.10.1,
org.joda.time.tz;version=2.10.1
Bundle-Version: 2.10.3
Export-Package: org.joda.time;version=2.10.3,
org.joda.time.base;version=2.10.3,
org.joda.time.chrono;version=2.10.3,
org.joda.time.convert;version=2.10.3,
org.joda.time.field;version=2.10.3,
org.joda.time.format;version=2.10.3,
org.joda.time.tz;version=2.10.3
Bundle-License: Apache 2.0
Bundle-DocURL: https://www.joda.org/joda-time/
......@@ -415,7 +415,7 @@ public abstract class Chronology {
*
* @return DateTimeField or UnsupportedDateTimeField if unsupported
*/
public abstract DateTimeField weekyearOfCentury();
public abstract DateTimeField weekyearOfCentury();
// Month
//-----------------------------------------------------------------------
......
......@@ -60,20 +60,33 @@ import org.joda.time.tz.ZoneInfoProvider;
* obtained from UTC by adding -08:00, that is, by subtracting 8 hours.
* <p>
* The offset differs in the summer because of daylight saving time, or DST.
* The following definitions of time are generally used:
* The following definitions are helpful:
* <ul>
* <li>UTC - The reference time.
* <li>Standard Time - The local time without a daylight saving time offset.
* For example, in Paris, standard time is UTC+01:00.
* <li>Daylight Saving Time - The local time with a daylight saving time
* offset. This offset is typically one hour, but not always. It is typically
* used in most countries away from the equator. In Paris, daylight saving
* time is UTC+02:00.
* <li>Wall Time - This is what a local clock on the wall reads. This will be
* either Standard Time or Daylight Saving Time depending on the time of year
* and whether the location uses Daylight Saving Time.
* <li>Offset - The amount of time a zone differs from UTC. This can vary during the year.
* <li>Daylight Saving - The process of having two offsets each year, one in winter and one in summer.
* <li>Raw offset - The base offset of the zone.
* <li>Additional offset - The additional offset on top of the raw offset.
* This is typically zero in winter and one hour in summer in zones that apply DST.
* <li>Actual offset - The actual offset that applies, which is the combination of the raw offset and additional offset.
* </ul>
* <p>
* For example, in 2018 Greece applied daylight saving.
* Throughout the whole year, the raw offset was +02:00.
* In winter, the additional offset was zero, while in summer the additional offset was one hour.
* Thus, the actual offset was +02:00 in winter and +03:00 in summer.
* <p>
* Note: Some governments, most notably Ireland, define daylight saving by describing
* a "standard" time in summer and a <i>negative</i> DST offset in winter.
* Joda-Time, like the JDK, follows a model for time-zone data where there is a
* raw offset all year round and a <i>positive</i> additional offset.
* As such, callers cannot assume that the raw offset is that defined by law for the zone.
* <p>
* Note: Some governments define a daylight saving time that applies for two separate periods.
* For example, the year might be winter time, then summer time, then a special time equal
* to winter time, then back to summer time before finally dropping back to winter time.
* As such, callers cannot assume that the raw and DST offsets directly correlate to summer and winter.
* <p>
* Unlike the Java TimeZone class, DateTimeZone is immutable. It also only
* supports long format time zone ids. Thus PST and ECT are not accepted.
* However, the factory that accepts a TimeZone will attempt to convert from
......@@ -822,6 +835,10 @@ public abstract class DateTimeZone implements Serializable {
/**
* Gets the millisecond offset to add to UTC to get local time.
* <p>
* This returns the actual offset from UTC for the zone at the specified instant.
* If the method is called with a different instant, the offset returned may be different
* as a result of daylight saving or other government rule changes.
*
* @param instant milliseconds from 1970-01-01T00:00:00Z to get the offset for
* @return the millisecond offset to add to UTC to get local time
......@@ -830,6 +847,10 @@ public abstract class DateTimeZone implements Serializable {
/**
* Gets the millisecond offset to add to UTC to get local time.
* <p>
* This returns the actual offset from UTC for the zone at the specified instant.
* If the method is called with a different instant, the offset returned may be different
* as a result of daylight saving or other government rule changes.
*
* @param instant instant to get the offset for, null means now
* @return the millisecond offset to add to UTC to get local time
......@@ -842,8 +863,16 @@ public abstract class DateTimeZone implements Serializable {
}
/**
* Gets the standard millisecond offset to add to UTC to get local time,
* when standard time is in effect.
* Gets the raw millisecond offset to add to UTC.
* <p>
* This should be treated as an implementation detail.
* End-users should use {@link #getOffset(long)}.
* <p>
* This returns the raw offset from UTC for the zone at the specified instant, effectively ignoring DST.
* If the method is called with a different instant, the offset returned may be different
* as a result of government rule changes.
* <p>
* This method should be named {@code getRawOffset()} but cannot be renamed for compatibility reasons.
*
* @param instant milliseconds from 1970-01-01T00:00:00Z to get the offset for
* @return the millisecond offset to add to UTC to get local time
......@@ -851,18 +880,20 @@ public abstract class DateTimeZone implements Serializable {
public abstract int getStandardOffset(long instant);
/**
* Checks whether, at a particular instant, the offset is standard or not.
* Checks whether, at a particular instant, the offset is raw or not.
* <p>
* This method can be used to determine whether Summer Time (DST) applies.
* As a general rule, if the offset at the specified instant is standard,
* then either Winter time applies, or there is no Summer Time. If the
* instant is not standard, then Summer Time applies.
* This method can be used to estimate whether Summer Time (DST) applies at the specified instant.
* As a general rule, if the actual offset equals the raw offset at the specified instant
* then either winter time applies or the zone does not have DST rules.
* If the actual offset does not equal the raw offset, then some form of Summer Time applies.
* <p>
* The implementation of the method is simply whether {@link #getOffset(long)}
* equals {@link #getStandardOffset(long)} at the specified instant.
* <p>
* This method should be named {@code isRawOffsetInUse()} but cannot be renamed for compatibility reasons.
*
* @param instant milliseconds from 1970-01-01T00:00:00Z to get the offset for
* @return true if the offset at the given instant is the standard offset
* @return true if the offset at the given instant is the same as the raw offset
* @since 1.5
*/
public boolean isStandardOffset(long instant) {
......@@ -945,7 +976,7 @@ public abstract class DateTimeZone implements Serializable {
}
/**
* Converts a standard UTC instant to a local instant with the same
* Converts an actual UTC instant to a local instant with the same
* local time. This conversion is used before performing a calculation
* so that the calculation can be done using a simple local zone.
*
......@@ -965,7 +996,7 @@ public abstract class DateTimeZone implements Serializable {
}
/**
* Converts a local instant to a standard UTC instant with the same
* Converts a local instant to an actual UTC instant with the same
* local time attempting to use the same offset as the original.
* <p>
* This conversion is used after performing a calculation
......@@ -992,7 +1023,7 @@ public abstract class DateTimeZone implements Serializable {
}
/**
* Converts a local instant to a standard UTC instant with the same
* Converts a local instant to an actual UTC instant with the same
* local time. This conversion is used after performing a calculation
* where the calculation was done using a simple local zone.
*
......@@ -1067,107 +1098,11 @@ public abstract class DateTimeZone implements Serializable {
return newZone.convertLocalToUTC(instantLocal, false, oldInstant);
}
// //-----------------------------------------------------------------------
// /**
// * Checks if the given {@link LocalDateTime} is within an overlap.
// * <p>
// * When switching from Daylight Savings Time to standard time there is
// * typically an overlap where the same clock hour occurs twice. This
// * method identifies whether the local datetime refers to such an overlap.
// *
// * @param localDateTime the time to check, not null
// * @return true if the given datetime refers to an overlap
// */
// public boolean isLocalDateTimeOverlap(LocalDateTime localDateTime) {
// if (isFixed()) {
// return false;
// }
// long instantLocal = localDateTime.toDateTime(DateTimeZone.UTC).getMillis();
// // get the offset at instantLocal (first estimate)
// int offsetLocal = getOffset(instantLocal);
// // adjust instantLocal using the estimate and recalc the offset
// int offset = getOffset(instantLocal - offsetLocal);
// // if the offsets differ, we must be near a DST boundary
// if (offsetLocal != offset) {
// long nextLocal = nextTransition(instantLocal - offsetLocal);
// long nextAdjusted = nextTransition(instantLocal - offset);
// if (nextLocal != nextAdjusted) {
// // in DST gap
// return false;
// }
// long diff = Math.abs(offset - offsetLocal);
// DateTime dateTime = localDateTime.toDateTime(this);
// DateTime adjusted = dateTime.plus(diff);
// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() &&
// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() &&
// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) {
// return true;
// }
// adjusted = dateTime.minus(diff);
// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() &&
// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() &&
// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) {
// return true;
// }
// return false;
// }
// return false;
// }
//
//
// DateTime dateTime = null;
// try {
// dateTime = localDateTime.toDateTime(this);
// } catch (IllegalArgumentException ex) {
// return false; // it is a gap, not an overlap
// }
// long offset1 = Math.abs(getOffset(dateTime.getMillis() + 1) - getStandardOffset(dateTime.getMillis() + 1));
// long offset2 = Math.abs(getOffset(dateTime.getMillis() - 1) - getStandardOffset(dateTime.getMillis() - 1));
// long offset = Math.max(offset1, offset2);
// if (offset == 0) {
// return false;
// }
// DateTime adjusted = dateTime.plus(offset);
// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() &&
// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() &&
// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) {
// return true;
// }
// adjusted = dateTime.minus(offset);
// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() &&
// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() &&
// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) {
// return true;
// }
// return false;
// long millis = dateTime.getMillis();
// long nextTransition = nextTransition(millis);
// long previousTransition = previousTransition(millis);
// long deltaToPreviousTransition = millis - previousTransition;
// long deltaToNextTransition = nextTransition - millis;
// if (deltaToNextTransition < deltaToPreviousTransition) {
// int offset = getOffset(nextTransition);
// int standardOffset = getStandardOffset(nextTransition);
// if (Math.abs(offset - standardOffset) >= deltaToNextTransition) {
// return true;
// }
// } else {
// int offset = getOffset(previousTransition);
// int standardOffset = getStandardOffset(previousTransition);
// if (Math.abs(offset - standardOffset) >= deltaToPreviousTransition) {
// return true;
// }
// }
// return false;
// }
/**
* Checks if the given {@link LocalDateTime} is within a gap.
* <p>
* When switching from standard time to Daylight Savings Time there is
* typically a gap where a clock hour is missing. This method identifies
* whether the local datetime refers to such a gap.
* When switching into Daylight Savings Time there is typically a gap where a clock hour is missing.
* This method identifies whether the local datetime refers to such a gap.
*
* @param localDateTime the time to check, not null
* @return true if the given datetime refers to a gap
......
......@@ -730,7 +730,7 @@ public final class LocalDate
long localMillis = getLocalMillis() + 6L * DateTimeConstants.MILLIS_PER_HOUR;
long instant = zone.convertLocalToUTC(localMillis, false);
instant = chrono.dayOfMonth().roundFloor(instant);
return new DateTime(instant, chrono);
return new DateTime(instant, chrono).withEarlierOffsetAtOverlap();
}
//-----------------------------------------------------------------------
......
......@@ -107,7 +107,7 @@ public final class Period
* @return the period
*/
public static Period years(int years) {
return new Period(new int[] {years, 0, 0, 0, 0, 0, 0, 0, 0}, PeriodType.standard());
return new Period(new int[] {years, 0, 0, 0, 0, 0, 0, 0}, PeriodType.standard());
}
/**
......
PeriodFormat.space=\
PeriodFormat.comma=,
PeriodFormat.commandand=,\u0438
PeriodFormat.commaspaceand=, \u0438
PeriodFormat.commaspace=,
PeriodFormat.spaceandspace=\ \u0438
PeriodFormat.year=\ \u0433\u043e\u0434\u0438\u043d\u0430
PeriodFormat.years=\ \u0433\u043e\u0434\u0438\u043d\u0438
PeriodFormat.month=\ \u043c\u0435\u0441\u0435\u0446
PeriodFormat.months=\ \u043c\u0435\u0441\u0435\u0446\u0430
PeriodFormat.week=\ \u0441\u0435\u0434\u043c\u0438\u0446\u0430
PeriodFormat.weeks=\ \u0441\u0435\u0434\u043c\u0438\u0446\u0438
PeriodFormat.day=\ \u0434\u0435\u043d
PeriodFormat.days=\ \u0434\u043d\u0438
PeriodFormat.hour=\ \u0447\u0430\u0441
PeriodFormat.hours=\ \u0447\u0430\u0441\u0430
PeriodFormat.minute=\ \u043c\u0438\u043d\u0443\u0442\u0430
PeriodFormat.minutes=\ \u043c\u0438\u043d\u0443\u0442\u0438
PeriodFormat.second=\ \u0441\u0435\u043a\u0443\u043d\u0434\u0430
PeriodFormat.seconds=\ \u0441\u0435\u043a\u0443\u043d\u0434\u0438
PeriodFormat.millisecond=\ \u043c\u0438\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430
PeriodFormat.milliseconds=\ \u043c\u0438\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0438
......@@ -8,11 +8,11 @@ PeriodFormat.regex.separator=%
PeriodFormat.years.regex=^1$%[0-9]*(?<!1)[2-4]$%[0-9]*
PeriodFormat.years.list=\ rok%\ roky%\ let
PeriodFormat.months.regex=^1$%[0-9]*(?<!1)[2-4]$%[0-9]*
PeriodFormat.months.list=\ měsíc%\ měsíce%\ měsíců
PeriodFormat.months.list=\ m\u011Bs\u00EDc%\ m\u011Bs\u00EDce%\ m\u011Bs\u00EDc\u016F
PeriodFormat.weeks.regex=^1$%[0-9]*(?<!1)[2-4]$%[0-9]*
PeriodFormat.weeks.list=\ týden%\ týdny%\ týdnů
PeriodFormat.weeks.list=\ t\u00FDden%\ t\u00FDdny%\ t\u00FDdn\u016F
PeriodFormat.days.regex=^1$%[0-9]*(?<!1)[2-4]$%[0-9]*
PeriodFormat.days.list=\ den%\ dny%\ dnů
PeriodFormat.days.list=\ den%\ dny%\ dn\u016F
PeriodFormat.hours.regex=^1$%[0-9]*(?<!1)[2-4]$%[0-9]*
PeriodFormat.hours.list=\ hodina%\ hodiny%\ hodin
PeriodFormat.minutes.regex=^1$%[0-9]*(?<!1)[2-4]$%[0-9]*
......
PeriodFormat.space=
PeriodFormat.comma=
PeriodFormat.commandand=
PeriodFormat.commaspaceand=
PeriodFormat.commaspace=
PeriodFormat.spaceandspace=
PeriodFormat.year=\u5E74
PeriodFormat.years=\u5E74
PeriodFormat.month=\u304B\u6708
PeriodFormat.months=\u304B\u6708
PeriodFormat.week=\u9031\u9593
PeriodFormat.weeks=\u9031\u9593
PeriodFormat.day=\u65E5
PeriodFormat.days=\u65E5
PeriodFormat.hour=\u6642\u9593
PeriodFormat.hours=\u6642\u9593
PeriodFormat.minute=\u5206
PeriodFormat.minutes=\u5206
PeriodFormat.second=\u79D2
PeriodFormat.seconds=\u79D2
PeriodFormat.millisecond=\u30DF\u30EA\u79D2
PeriodFormat.milliseconds=\u30DF\u30EA\u79D2
PeriodFormat.space=
PeriodFormat.comma=
PeriodFormat.commandand=
PeriodFormat.commaspaceand=
PeriodFormat.commaspace=
PeriodFormat.spaceandspace=
PeriodFormat.year=\u5E74
PeriodFormat.years=\u5E74
PeriodFormat.month=\u304B\u6708
PeriodFormat.months=\u304B\u6708
PeriodFormat.week=\u9031\u9593
PeriodFormat.weeks=\u9031\u9593
PeriodFormat.day=\u65E5
PeriodFormat.days=\u65E5
PeriodFormat.hour=\u6642\u9593
PeriodFormat.hours=\u6642\u9593
PeriodFormat.minute=\u5206
PeriodFormat.minutes=\u5206
PeriodFormat.second=\u79D2
PeriodFormat.seconds=\u79D2
PeriodFormat.millisecond=\u30DF\u30EA\u79D2
PeriodFormat.milliseconds=\u30DF\u30EA\u79D2
The data files in this directory were obtained from the public IANA time zone database,
https://www.iana.org/time-zones, version 2018g.
https://www.iana.org/time-zones, version 2019b.
......@@ -89,7 +89,7 @@ Rule Algeria 1980 only - Apr 25 0:00 1:00 S
Rule Algeria 1980 only - Oct 31 2:00 0 -
# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
# more precise 0:09:21.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 Algeria WE%sT 1940 Feb 25 2:00
......@@ -124,7 +124,7 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
# For now, ignore that and follow the 1911-05-26 Portuguese decree
# (see Europe/Lisbon).
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
-2:00 - -02 1942 Sep
-2:00 1:00 -01 1945 Oct 15
......@@ -135,7 +135,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
# See Africa/Lagos.
# Chad
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
1:00 - WAT 1979 Oct 14
1:00 1:00 WAST 1980 Mar 8
......@@ -151,7 +151,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
# See Africa/Lagos.
# Côte d'Ivoire / Ivory Coast
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
0:00 - GMT
Link Africa/Abidjan Africa/Bamako # Mali
......@@ -356,7 +356,7 @@ Rule Egypt 2014 only - Jun 26 24:00 0 -
Rule Egypt 2014 only - Jul 31 24:00 1:00 S
Rule Egypt 2014 only - Sep lastThu 24:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
2:00 Egypt EE%sT
......@@ -364,6 +364,11 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# See Africa/Lagos.
# Eritrea
# See Africa/Nairobi.
# Eswatini (formerly Swaziland)
# See Africa/Johannesburg.
# Ethiopia
# See Africa/Nairobi.
#
......@@ -409,7 +414,7 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Ghana 1920 1942 - Sep 1 0:00 0:20 -
Rule Ghana 1920 1942 - Dec 31 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1918
0:00 Ghana GMT/+0020
......@@ -423,13 +428,13 @@ Zone Africa/Accra -0:00:52 - LMT 1918
# evidently confusing the date of the Portuguese decree
# (see Europe/Lisbon) with the date that it took effect.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
-1:00 - -01 1975
0:00 - GMT
# Kenya
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - +0230 1940
......@@ -464,7 +469,7 @@ Link Africa/Nairobi Indian/Mayotte
# Use the abbreviation "MMT" before 1972, as the more-accurate numeric
# abbreviation "-004430" would be one byte over the POSIX limit.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time
-0:44:30 - MMT 1972 Jan 7 # approximately MMT
......@@ -514,7 +519,7 @@ Rule Libya 1997 only - Apr 4 0:00 1:00 S
Rule Libya 1997 only - Oct 4 0:00 0 -
Rule Libya 2013 only - Mar lastFri 1:00 1:00 S
Rule Libya 2013 only - Oct lastFri 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 1959
2:00 - EET 1982
......@@ -624,7 +629,7 @@ Rule Mauritius 1982 only - Oct 10 0:00 1:00 -
Rule Mauritius 1983 only - Mar 21 0:00 0 -
Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 -
Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
4:00 Mauritius +04/+05
# Agalega Is, Rodriguez
......@@ -847,8 +852,47 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# From Mohamed Essedik Najd (2018-10-26):
# Today, a Moroccan government council approved the perpetual addition
# of 60 minutes to the regular Moroccan timezone.
# From Brian Inglis (2018-10-26):
# http://www.maroc.ma/fr/actualites/le-conseil-de-gouvernement-adopte-un-projet-de-decret-relatif-lheure-legale-stipulant-le
# From Matt Johnson (2018-10-28):
# http://www.sgg.gov.ma/Portals/1/BO/2018/BO_6720-bis_Ar.pdf
#
# From Maamar Abdelkader (2018-11-01):
# We usually move clocks back the previous week end and come back to the +1
# the week end after.... The government does not announce yet the decision
# about this temporary change. But it s 99% sure that it will be the case,
# as in previous years. An unofficial survey was done these days, showing
# that 64% of asked people are ok for moving from +1 to +0 during Ramadan.
# https://leconomiste.com/article/1035870-enquete-l-economiste-sunergia-64-des-marocains-plebiscitent-le-gmt-pendant-ramadan
# From Naoufal Semlali (2019-04-16):
# Morocco will be on GMT starting from Sunday, May 5th 2019 at 3am.
# The switch to GMT+1 will occur on Sunday, June 9th 2019 at 2am....
# http://fr.le360.ma/societe/voici-la-date-du-retour-a-lheure-legale-au-maroc-188222
#
# From Paul Eggert (2019-05-20):
# This agrees with our 2018-11-01 guess that the Moroccan government
# would continue the practice of falling back at 03:00 the last Sunday
# before Ramadan, and of springing forward at 02:00 the first Sunday after
# Ramadan, as this has been the practice since 2012. To implement this,
# transition dates for 2019 through 2087 were determined by running the
# following program under GNU Emacs 26.2.
# (let ((islamic-year 1440))
# (require 'cal-islam)
# (while (< islamic-year 1511)
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
# (sunday 0))
# (while (/= sunday (mod (setq a (1- a)) 7)))
# (while (/= sunday (mod b 7))
# (setq b (1+ b)))
# (setq a (calendar-gregorian-from-absolute a))
# (setq b (calendar-gregorian-from-absolute b))
# (insert
# (format
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 3:00\t-1:00\t-\n"
# "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 2:00\t0\t-\n")
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
# (setq islamic-year (+ 1 islamic-year))))
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
......@@ -892,13 +936,159 @@ 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 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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 -
# For dates after the somewhat-arbitrary cutoff of 2087, assume that
# Morocco will no longer observe DST. At some point this table will
# need to be extended, though quite possibly Morocco will change the
# rules first.
# 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 27
1:00 - +01
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
# Western Sahara
#
......@@ -913,8 +1103,8 @@ Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
-1:00 - -01 1976 Apr 14
0:00 Morocco +00/+01 2018 Oct 27
1:00 - +01
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
# Mozambique
#
......@@ -923,7 +1113,7 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf
# merely made it official?
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
2:00 - CAT
Link Africa/Maputo Africa/Blantyre # Malawi
......@@ -995,7 +1185,7 @@ Rule Namibia 1995 2017 - Apr Sun>=1 2:00 -1:00 WAT
#Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 WAT
# End of rearguard section.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
1:30 - +0130 1903 Mar
2:00 - SAST 1942 Sep 20 2:00
......@@ -1016,7 +1206,7 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
# See Africa/Lagos.
# Nigeria
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
1:00 - WAT
Link Africa/Lagos Africa/Bangui # Central African Republic
......@@ -1030,7 +1220,7 @@ Link Africa/Lagos Africa/Niamey # Niger
Link Africa/Lagos Africa/Porto-Novo # Benin
# Réunion
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - +04
#
......@@ -1071,16 +1261,26 @@ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
# the switch is from 01:00 to 02:00 ... [Decree No. 25/2017]
# http://www.mnec.gov.st/index.php/publicacoes/documentos/file/90-decreto-lei-n-25-2017
# From Vadim Nasardinov (2018-12-29):
# São Tomé and Príncipe is about to do the following on Jan 1, 2019:
# https://www.stp-press.st/2018/12/05/governo-jesus-ja-decidiu-repor-hora-legal-sao-tomense/
#
# From Michael Deckers (2018-12-30):
# https://www.legis-palop.org/download.jsp?idFile=102818
# ... [The legal time of the country, which coincides with universal
# coordinated time, will be restituted at 2 o'clock on day 1 of January, 2019.]
Zone Africa/Sao_Tome 0:26:56 - LMT 1884
-0:36:45 - LMT 1912 Jan 1 00:00u # Lisbon MT
0:00 - GMT 2018 Jan 1 01:00
1:00 - WAT
1:00 - WAT 2019 Jan 1 02:00
0:00 - GMT
# Senegal
# See Africa/Abidjan.
# Seychelles
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
4:00 - +04
# From Paul Eggert (2001-05-30):
......@@ -1100,12 +1300,12 @@ Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 -
Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
1:30 - SAST 1903 Mar
2:00 SA SAST
Link Africa/Johannesburg Africa/Maseru # Lesotho
Link Africa/Johannesburg Africa/Mbabane # Swaziland
Link Africa/Johannesburg Africa/Mbabane # Eswatini
#
# Marion and Prince Edward Is
# scientific station since 1947
......@@ -1135,21 +1335,18 @@ Rule Sudan 1970 only - May 1 0:00 1:00 S
Rule Sudan 1970 1985 - Oct 15 0:00 0 -
Rule Sudan 1971 only - Apr 30 0:00 1:00 S
Rule Sudan 1972 1985 - Apr lastSun 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Khartoum 2:10:08 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT 2017 Nov 1
2:00 - CAT
# South Sudan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Juba 2:06:28 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT
# Swaziland
# See Africa/Johannesburg.
# Tanzania
# See Africa/Nairobi.
......@@ -1251,7 +1448,7 @@ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
# more precise 0:09:21.
# Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia CE%sT
......
......@@ -13,7 +13,7 @@
# for information.
# Unless otherwise specified, we have no time zone information.
# FORMAT is '-00' and GMTOFF is 0 for locations while uninhabited.
# FORMAT is '-00' and STDOFF is 0 for locations while uninhabited.
# Argentina - year-round bases
# Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
......@@ -70,7 +70,7 @@
# Australian Antarctica Division informed us that Casey changed time
# zone to UTC+11 in "the morning of 22nd October 2016".
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2009 Oct 18 2:00
11:00 - +11 2010 Mar 5 2:00
......@@ -142,7 +142,7 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
# St Paul Island - near Amsterdam, uninhabited
# fishing stations operated variously 1819/1931
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
5:00 - +05
#
......@@ -153,7 +153,7 @@ Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
# Another base at Port-Martin, 50km east, began operation in 1947.
# It was destroyed by fire on 1952-01-14.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/DumontDUrville 0 - -00 1947
10:00 - +10 1952 Jan 14
0 - -00 1956 Nov
......@@ -181,7 +181,7 @@ Zone Antarctica/DumontDUrville 0 - -00 1947
# Syowa station, which is the first antarctic station of Japan,
# was established on 1957-01-29. Since Syowa station is still the main
# station of Japan, it's appropriate for the principal location.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Syowa 0 - -00 1957 Jan 29
3:00 - +03
# See:
......@@ -231,7 +231,7 @@ Rule Troll 2005 max - Mar lastSun 1:00u 2:00 +02
#Rule Troll 2004 max - Nov 7 1:00u 0:00 +00
# Remove the following line when uncommenting the above '#Rule' lines.
Rule Troll 2004 max - Oct lastSun 1:00u 0:00 +00
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Troll 0 - -00 2005 Feb 12
0:00 Troll %s
......@@ -305,7 +305,7 @@ Zone Antarctica/Vostok 0 - -00 1957 Dec 16
# From Paul Eggert (2002-10-22)
# <http://webexhibits.org/daylightsaving/g.html> says Rothera is -03 all year.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Rothera 0 - -00 1976 Dec 1
-3:00 - -03
......
This diff is collapsed.