
Everyone has probably heard at least once that in Russia from 2011 the transition from summer to winter time has been canceled. How does this threaten each of us - and administrators of a large number of servers in complex systems, and ordinary users who have the same computer and mobile phone? What happens on the night of October 29-30, 2011 - to which, by the way, only 2 weeks are left?
New
Federal Law of the Russian Federation of June 3, 2011 N 107- βOn the calculation of timeβ :
- adopted by the State Duma 2011-05-20
- approved by the Federation Council 2011-05-25
- published 2011-06-06
- signed by the president 2011-06-09
- effective from 2011-08-07
What threatens us with these changes and what can break from it?
What exactly and when changes?
Europe/Moscow
: MSD = UTC+4 MSK = UTC+3. timezone , MSK UTC+4. , , , «» β .. Europe/Moscow.
UNIX timestamp β , , 1970-01-01 00:00:00 UTC. .
| Timestamp | | |
---|
| 0 | Jan 1 03:00:00 MSK 1970 | Jan 1 03:00:00 MSK 1970 |
2011 | 1296000000 | Jan 26 03:00:00 MSK 2011 | Jan 26 03:00:00 MSK 2011 |
2011 | 1310000000 | Jul 7 04:53:20 MSD 2011 | Jul 7 04:53:20 MSK 2011 |
2011 | 1325000000 | Dec 27 18:33:20 MSK 2011 | Dec 27 19:33:20 MSK 2011 |
| 1319929199 | Oct 30 02:59:59 MSD 2011 | Oct 30 02:59:59 MSK 2011 |
| 1319929200 | Oct 30 02:00:00 MSK 2011 | Oct 30 03:00:00 MSK 2011 |
, , Y2k 1319929199 1319929200- β , .
(.. , )
TZ database,
elsie.nci.nih.gov/pub: 4 β , β .
TZ database : 2011-06-06, 2011h 2011-06-15.
, : tzdata , 2011h (.. 2011i, 2011j ..) β .
timezone?
, .
, , timezone Europe/Moscow β , -- UTC β .
:
- β UTC
- , ,
- ,
- , 24x7: , ..
- , β .. , , ..
ntp-, β , ?
, : ntp- UNIX timestamp, , , . , β , ntp- , , , : ntp, Β« Β» ntp «» . «» timezone.
- UTC, β GMT?
, :
UTC (Universal Time, Coordinated) (~ 1960-) β , , , .
β GMT UTC β GMT «» . GMT UTC ~0.9 . , 50 , Β« Β» GMT.
, - ?
, , , .
, β , , : 2011-10-30 01:59 1 1 . / 02:00 β , , , timezone . 03:00 β , .
Linux
Linux timezones,
/usr/share/zoneinfo
. β , , :
| | | |
---|
ALT Linux Platform 6 | tzdata | 2011h | 2011-07-01 |
Arch Linux | tzdata | 2011h-1 | <2011-07-08 |
CentOS/RHEL 4 | tzdata | 2011h-2.el4 | 2011-08-29 |
CentOS/RHEL 5 | tzdata | 2011h-1.el5 | 2011-06-28 |
Debian stable (squeeze) | tzdata | 2011h-0squeeze1 | 2011-08-13 |
openSUSE 11.4 | timezone | 2011i-2.2.1 | 2011-09-04 |
Ubuntu hardy | tzdata | 2011j~repack-0ubuntu0.8.04 | 2011-09-16 |
Ubuntu lucid | tzdata | 2011j-0ubuntu0.10.04 | 2011-09-16 |
Ubuntu natty | tzdata | 2011j-0ubuntu0.11.04 | 2011-09-15 |
: :
S1=$(LC_ALL=C TZ=Europe/Moscow date -d @1314567890)
[ "$S1" = 'Mon Aug 29 01:44:50 MSK 2011' ] || (echo FAIL1; exit 1)
S2=$(LC_ALL=C TZ=Europe/Moscow date -d @1324567890)
[ "$S2" = 'Thu Dec 22 19:31:30 MSK 2011' ] || (echo FAIL2; exit 2)
echo OK
-, OK exit status β . : , , - - - timezones ; β , - .
FreeBSD
head stable FreeBSD 8 2011-06-28.
: - , :
S1=$(LC_ALL=C TZ=Europe/Moscow date -r 1314567890)
[ "$S1" = 'Mon Aug 29 01:44:50 MSK 2011' ] || (echo FAIL1; exit 1)
S2=$(LC_ALL=C TZ=Europe/Moscow date -r 1324567890)
[ "$S2" = 'Thu Dec 22 19:31:30 MSK 2011' ] || (echo FAIL2; exit 2)
echo OK
Mac OS X. , - , .
Solaris
Timezone 2011h :
- SPARC, Solaris 8: patch 109809-17
- SPARC, Solaris 9: patch 113225-29
- SPARC, Solaris 10: patch 146470-04
- x86, Solaris 8 patch 109810-17
- x86, Solaris 9 patch 116545-27
- x86, Solaris 10 patch 146471-04
, ,
patchadd
, ,
tzreload
.
7055084.
Windows
Windows 2011 β 2570791 (
pokryshkin). . :
- Windows 7
- Windows Server 2008 R2
- Windows Server 2008 SP2
- Windows Vista
- Windows Server 2003 SP2
- Windows XP SP3
.
,
914387.
(
ComputerPers)
Windows-
Β« , , Β» roman_tik.
Java
Java, , timezones -
$JAVA_HOME/lib/zi
β ( ) .
«» Oracle Java SE
2011h, 1.3.40, 2011-06-29.
: TestMSD.java :
import java.util.*;
import java.text.DateFormat;
public class TestMSD {
public static void main(String[] args) {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Moscow"));
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.US);
df.setCalendar(c);
c.setTimeInMillis(1314567890L * 1000L);
if (!df.format(c.getTime()).equals("Monday, August 29, 2011 1:44:50 AM MSK")) {
System.out.println("FAIL1");
System.exit(1);
}
c.setTimeInMillis(1324567890L * 1000L);
if (!df.format(c.getTime()).equals("Thursday, December 22, 2011 7:31:30 PM MSK")) {
System.out.println("FAIL2");
System.exit(2);
}
System.out.println("OK");
System.exit(0);
}
}
javac TestMSD.java
,
java TestMSD
. β OK stdout exit status = 0, .
Android
Android-
/etc/timezones.db
, java- java. /usr/share/zoneinfo .
, , , :
- Asus TF101 β ASUS, Android 3.2.1 β ( flashvoid)
- Google Nexus One β (2.3.6) β ( binba)
- Google Nexus One β c CyanogenMod-7.1, build 220 2011-10-13 β ( Anjin)
- Google Nexus S β (2.3.6) β ( 8bitjoey)
- Google Nexus S β WhisperCore 0.5.5 β ( Darka)
- HTC Desire β (2.29.405.5 CL293415, Android 2.2) β
- HTC Desire β developer preview (2.3.3) β ( LanG)
- HTC Desire Z β (2.42.205.2, Android 2.3.3) β ( AlexeyRU)
- HTC Desire Z β MIUI (1.10.07) β ( NoOne)
- HTC Desire HD β (2.50.405.2, Andriod 2.3.3) β ( dolgonosic)
- HTC Legend β 3.15.405.3 CL291292 (Android 2.2) β ( ihoru)
- HTC Wildfire S β 1.33.401.2, Android 2.3.3 β ( Wildy)
- LG Optimus One β LG-P500-v20C, Android 2.3.3 β ( ChemAli)
- LG Optimus One β LG-P500-v20D, Android 2.3.3 β ( Nikolaich)
- Motorola Milestone β (2.1-update1, Android 2.1) β
- Samsung Galaxy S II β Android 2.3.3, ( aim)
- Samsung Galaxy Ace β S5830XXKPO, Android 2.3.5 β ( Bytamine)
: 2011-2012 , «Moscow Standard Time» ; «» :

Maemo
Maemo , GNU/Linux β ..
/usr/share/zoneinfo
, tzdata .. (
wholeman):
- Maemo5 (AKA Fremantle), Nokia N900 β
- Maemo6 (AKA MeeGo 1.2 Harmattan), Nokia N9/N950 β
: busybox'
date -d 12221931.30 +%s
1324567890
.
Symbian
, , .. - «» :
: Android, Β« β β Β», - 2011 , Β«GMT +3.00 Β»:

β , .
, , , : , ( ), , β , , : Windows, Mac OS X / Classic, / Symbian, Android, iOS, MeeGo, Windows Mobile/Phone 7, Nabaztag, Playstation/XBox, Perl, PHP, Ruby, Python, SQL- ..