Proposed patch for Iran daylight-saving fix

Paul Eggert eggert at twinsun.com
Sun Mar 16 05:30:11 UTC 2003


> Date: Sat, 15 Mar 2003 13:07:13 +0330 (IRT)
> From: Roozbeh Pournader <roozbeh at sharif.edu>

> Iran's daylight saving time is one day off.

Thanks a lot for reporting this, along with the official source. I enclose below a revised patch, which I consider to be a supplement to my March 13 proposed patches to the overall tz database. I have modified your patch as follows:

  * Update commentary to mention the official source that you
    mentioned, along with your "IRST/IRDT" remark.  Remove commentary
    mentioning some lower-quality sources that are no longer used.

  * Change the September 1991 transition from September 20 to September
    22.  That is, I'd guess from the timing of your official
    announcement that the change took effect before the September 1991
    transition, not after that transition.

  * Use "IRST" (not "IRT") for standard time in Iran between 1946
    and 1977.

> From personal experience, that agrees with what has been followed for 
> at least the last 5 years. Before that, for a few years, the date used 
> was the first Thursday night of Farvardin and the last Thursday night 
> of Shahrivar, but I can't give exact dates.

This doesn't match the Shanks data well, but as you mentioned we can wait on correcting the pre-1991 transitions until we get more authoritative sources.

Thanks again.

--- asia	2003/03/14 04:28:08	2002.4.0.1
+++ asia	2003/03/16 05:17:32	2002.4.0.2
@@ -29,22 +29,23 @@
 # I invented the abbreviations marked `*' in the following table;  # the rest are from earlier versions of this file, or from other sources.  # Corrections are welcome!
-#		std dst
-#		LMT	Local Mean Time
-#	2:00	EET EEST Eastern European Time
-#	2:00	IST IDT	Israel
-#	3:00	AST ADT	Arabia*
-#	4:00	GST	Gulf*
-#	5:30	IST	India
-#	7:00	ICT	Indochina*
-#	7:00	WIT	west Indonesia
-#	8:00	CIT	central Indonesia
-#	8:00	CST	China
-#	9:00	CJT	Central Japanese Time (1896/1937)*
-#	9:00	EIT	east Indonesia
-#	9:00	JST	Japan
-#	9:00	KST	Korea
-#	9:30	CST	(Australian) Central Standard Time
+#	     std  dst
+#	     LMT	Local Mean Time
+#	2:00 EET  EEST	Eastern European Time
+#	2:00 IST  IDT	Israel
+#	3:00 AST  ADT	Arabia*
+#	3:30 IRST IRDT	Iran
+#	4:00 GST	Gulf*
+#	5:30 IST	India
+#	7:00 ICT	Indochina*
+#	7:00 WIT	west Indonesia
+#	8:00 CIT	central Indonesia
+#	8:00 CST	China
+#	9:00 CJT	Central Japanese Time (1896/1937)*
+#	9:00 EIT	east Indonesia
+#	9:00 JST	Japan
+#	9:00 KST	Korea
+#	9:30 CST	(Australian) Central Standard Time
 #
 # See the `europe' file for Russia and Turkey in Asia.
 
@@ -430,89 +431,97 @@ Zone Asia/Jayapura	9:22:48 -	LMT	1932 No
 			9:00	-	EIT
 
 # Iran
-# From Paul Eggert (2000-06-12), following up a suggestion by Rich Wales: -# Ahmea Alavi in -# <a href="http://www.persia.org/Iran_Lib/Calendar/taghveem.txt">
-# TAGHVEEM (1993-07-12)
-# </a>
-# writes ``Daylight saving time in Iran starts from the first day -# of Farvardin and ends the first day of Mehr.''  This disagrees with the SSIM: -#
-#		   DST start	   DST end
-#	year	SSIM	Alavi	SSIM	Alavi
-#	1991	05-03!=	03-21	09-20!=	09-23
-#	1992	03-22!=	03-21	09-23	09-23
-#	1993	03-21	03-21	09-23	09-23
-#	1994	03-21	03-21	09-22!= 09-23
-#	1995	03-21	03-21	09-22!= 09-23
-#	1996	03-21!=	03-20	09-22   09-22
-#	1997	03-22!=	03-21	09-22!= 09-23
-#	1998	03-21	03-21	09-21!= 09-23
-#	1999	03-22!=	03-21	09-22!= 09-23
-#	2000	03-21!=	03-20	09-21!= 09-22
-#	2001	03-19!=	03-21	09-19!= 09-23
-#	2002	03-18!=	03-21	09-18!= 09-23
-#
-# Go with Alavi starting with 1992.
-# I used Ed Reingold's cal-persia in GNU Emacs 19.34 to compute Persian dates.
+
+# From Roozbeh Pournader (2003-03-15):
+# This is an English translation of what I just found (originally in 
+Persian). # The Gregorian dates in brackets are mine: #
+#	Official Newspaper No. 13548-1370/6/25 [1991-09-16]
+#	No. 16760/T233 H				1370/6/10 [1991-09-01]
+#
+#	The Rule About Change of the Official Time of the Country
+#
+#	The Board of Ministers, in the meeting dated 1370/5/23 [1991-08-14],
+#	based on the suggestion number 2221/D dated 1370/4/22 [1991-07-13]
+#	of the Country's Organization for Official and Employment Affairs,
+#	and referring to the law for equating the working hours of workers
+#	and officers in the whole country dated 1359/4/23 [1980-07-14], and
+#	for synchronizing the official times of the country, agreed that:
+#
+#	The official time of the country will should move forward one hour
+#	at the 24[:00] hours of the first day of Farvardin and should return
+#	to its previous state at the 24[:00] hours of the 30th day of
+#	Shahrivar.
+#
+#	First Deputy to the President - Hassan Habibi
+#
+# From personal experience, that agrees with what has been followed
+# for at least the last 5 years.  Before that, for a few years, the
+# date used was the first Thursday night of Farvardin and the last
+# Thursday night of Shahrivar, but I can't give exact dates....
+# I have also changed the abbreviations to what is considered correct
+# here in Iran, IRST for regular time and IRDT for daylight saving time.
+
+# From Paul Eggert (2003-03-15)
+# Go with Shanks before September 1991, and with Pourander thereafter. 
+# I used Ed Reingold's cal-persia in GNU Emacs 21.2 to check Persian 
+dates.
 # The Persian calendar is based on the sun, and dates after around 2050  # are approximate; stop after 2037 when 32-bit time_t's overflow.  #
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-Rule	Iran	1978	1980	-	Mar	21	0:00	1:00	S
-Rule	Iran	1978	only	-	Oct	21	0:00	0	-
-Rule	Iran	1979	only	-	Sep	19	0:00	0	-
-Rule	Iran	1980	only	-	Sep	23	0:00	0	-
-Rule	Iran	1991	only	-	May	 3	0:00s	1:00	S
-Rule	Iran	1991	only	-	Sep	20	0:00s	0	-
-Rule	Iran	1992	1995	-	Mar	21	0:00	1:00	S
-Rule	Iran	1992	1995	-	Sep	23	0:00	0	-
-Rule	Iran	1996	only	-	Mar	20	0:00	1:00	S
-Rule	Iran	1996	only	-	Sep	22	0:00	0	-
-Rule	Iran	1997	1999	-	Mar	21	0:00	1:00	S
-Rule	Iran	1997	1999	-	Sep	23	0:00	0	-
-Rule	Iran	2000	only	-	Mar	20	0:00	1:00	S
-Rule	Iran	2000	only	-	Sep	22	0:00	0	-
-Rule	Iran	2001	2003	-	Mar	21	0:00	1:00	S
-Rule	Iran	2001	2003	-	Sep	23	0:00	0	-
-Rule	Iran	2004	only	-	Mar	20	0:00	1:00	S
-Rule	Iran	2004	only	-	Sep	22	0:00	0	-
-Rule	Iran	2005	2007	-	Mar	21	0:00	1:00	S
-Rule	Iran	2005	2007	-	Sep	23	0:00	0	-
-Rule	Iran	2008	only	-	Mar	20	0:00	1:00	S
-Rule	Iran	2008	only	-	Sep	22	0:00	0	-
-Rule	Iran	2009	2011	-	Mar	21	0:00	1:00	S
-Rule	Iran	2009	2011	-	Sep	23	0:00	0	-
-Rule	Iran	2012	only	-	Mar	20	0:00	1:00	S
-Rule	Iran	2012	only	-	Sep	22	0:00	0	-
-Rule	Iran	2013	2015	-	Mar	21	0:00	1:00	S
-Rule	Iran	2013	2015	-	Sep	23	0:00	0	-
-Rule	Iran	2016	only	-	Mar	20	0:00	1:00	S
-Rule	Iran	2016	only	-	Sep	22	0:00	0	-
-Rule	Iran	2017	2019	-	Mar	21	0:00	1:00	S
-Rule	Iran	2017	2019	-	Sep	23	0:00	0	-
-Rule	Iran	2020	only	-	Mar	20	0:00	1:00	S
-Rule	Iran	2020	only	-	Sep	22	0:00	0	-
-Rule	Iran	2021	2023	-	Mar	21	0:00	1:00	S
-Rule	Iran	2021	2023	-	Sep	23	0:00	0	-
-Rule	Iran	2024	2025	-	Mar	20	0:00	1:00	S
-Rule	Iran	2024	2025	-	Sep	22	0:00	0	-
-Rule	Iran	2026	2027	-	Mar	21	0:00	1:00	S
-Rule	Iran	2026	2027	-	Sep	23	0:00	0	-
-Rule	Iran	2028	2029	-	Mar	20	0:00	1:00	S
-Rule	Iran	2028	2029	-	Sep	22	0:00	0	-
-Rule	Iran	2030	2031	-	Mar	21	0:00	1:00	S
-Rule	Iran	2030	2031	-	Sep	23	0:00	0	-
-Rule	Iran	2032	2033	-	Mar	20	0:00	1:00	S
-Rule	Iran	2032	2033	-	Sep	22	0:00	0	-
-Rule	Iran	2034	2035	-	Mar	21	0:00	1:00	S
-Rule	Iran	2034	2035	-	Sep	23	0:00	0	-
-Rule	Iran	2036	2037	-	Mar	20	0:00	1:00	S
-Rule	Iran	2036	2037	-	Sep	22	0:00	0	-
+Rule	Iran	1978	1980	-	Mar	21	0:00	1:00	D
+Rule	Iran	1978	only	-	Oct	21	0:00	0	S
+Rule	Iran	1979	only	-	Sep	19	0:00	0	S
+Rule	Iran	1980	only	-	Sep	23	0:00	0	S
+Rule	Iran	1991	only	-	May	 3	0:00	1:00	D
+Rule	Iran	1992	1995	-	Mar	22	0:00	1:00	D
+Rule	Iran	1991	1995	-	Sep	22	0:00	0	S
+Rule	Iran	1996	only	-	Mar	21	0:00	1:00	D
+Rule	Iran	1996	only	-	Sep	21	0:00	0	S
+Rule	Iran	1997	1999	-	Mar	22	0:00	1:00	D
+Rule	Iran	1997	1999	-	Sep	22	0:00	0	S
+Rule	Iran	2000	only	-	Mar	21	0:00	1:00	D
+Rule	Iran	2000	only	-	Sep	21	0:00	0	S
+Rule	Iran	2001	2003	-	Mar	22	0:00	1:00	D
+Rule	Iran	2001	2003	-	Sep	22	0:00	0	S
+Rule	Iran	2004	only	-	Mar	21	0:00	1:00	D
+Rule	Iran	2004	only	-	Sep	21	0:00	0	S
+Rule	Iran	2005	2007	-	Mar	22	0:00	1:00	D
+Rule	Iran	2005	2007	-	Sep	22	0:00	0	S
+Rule	Iran	2008	only	-	Mar	21	0:00	1:00	D
+Rule	Iran	2008	only	-	Sep	21	0:00	0	S
+Rule	Iran	2009	2011	-	Mar	22	0:00	1:00	D
+Rule	Iran	2009	2011	-	Sep	22	0:00	0	S
+Rule	Iran	2012	only	-	Mar	21	0:00	1:00	D
+Rule	Iran	2012	only	-	Sep	21	0:00	0	S
+Rule	Iran	2013	2015	-	Mar	22	0:00	1:00	D
+Rule	Iran	2013	2015	-	Sep	22	0:00	0	S
+Rule	Iran	2016	only	-	Mar	21	0:00	1:00	D
+Rule	Iran	2016	only	-	Sep	21	0:00	0	S
+Rule	Iran	2017	2019	-	Mar	22	0:00	1:00	D
+Rule	Iran	2017	2019	-	Sep	22	0:00	0	S
+Rule	Iran	2020	only	-	Mar	21	0:00	1:00	D
+Rule	Iran	2020	only	-	Sep	21	0:00	0	S
+Rule	Iran	2021	2023	-	Mar	22	0:00	1:00	D
+Rule	Iran	2021	2023	-	Sep	22	0:00	0	S
+Rule	Iran	2024	2025	-	Mar	21	0:00	1:00	D
+Rule	Iran	2024	2025	-	Sep	21	0:00	0	S
+Rule	Iran	2026	2027	-	Mar	22	0:00	1:00	D
+Rule	Iran	2026	2027	-	Sep	22	0:00	0	S
+Rule	Iran	2028	2029	-	Mar	21	0:00	1:00	D
+Rule	Iran	2028	2029	-	Sep	21	0:00	0	S
+Rule	Iran	2030	2031	-	Mar	22	0:00	1:00	D
+Rule	Iran	2030	2031	-	Sep	22	0:00	0	S
+Rule	Iran	2032	2033	-	Mar	21	0:00	1:00	D
+Rule	Iran	2032	2033	-	Sep	21	0:00	0	S
+Rule	Iran	2034	2035	-	Mar	22	0:00	1:00	D
+Rule	Iran	2034	2035	-	Sep	22	0:00	0	S
+Rule	Iran	2036	2037	-	Mar	21	0:00	1:00	D
+Rule	Iran	2036	2037	-	Sep	21	0:00	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Tehran	3:25:44	-	LMT	1916
 			3:25:44	-	TMT	1946	# Tehran Mean Time
-			3:30	-	IRT	1977 Nov
+			3:30	-	IRST	1977 Nov
 			4:00	Iran	IR%sT	1979
 			3:30	Iran	IR%sT



More information about the tz mailing list