Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

XPe and daylight saving time changes

18 views
Skip to first unread message

Larry Waibel

unread,
Mar 6, 2006, 4:12:09 PM3/6/06
to
We're about to deploy a system with the registry settings for a given
timezone. But since Congress can (and next year possibly will) change the
rules for when DST starts and stops how will we update the 'rules' for when
the changes take place? Is there a file somewhere that contains the rules
that we could just replace with newer rules?

Andy Allred [MS]

unread,
Mar 6, 2006, 4:43:36 PM3/6/06
to
Hi Larry!

The Windows team that owns this feature will be deploying the changes to XP
PCs probably this year but I don't know the timeframe, i also don't know how
this change is being effected to thos machines (reg keys or updated/new
binaries).

The team that owns servicing for XPe is aware that this is another high
priority update that needs to be componentized and provided to you as soon
as possible.

You could contact Jon Fincher via his XPe Servicing blog and ask for details
there:
http://xpeqfe.blogspot.com/

--
Andy
--
Embedded team blog: http://blogs.msdn.com/embedded/

This posting is provided "AS IS" with no warranties, and confers no rights.
"Larry Waibel" <lwa...@no-spam-cox.net> wrote in message
news:VA.0000030...@no-spam-cox.net...

Larry Waibel

unread,
Mar 6, 2006, 6:48:49 PM3/6/06
to
Okay, thanks I'll contact Jon. I'm just hoping it's something that can be done
without having to rebuild our target image; i.e. a copy of a file or a registry
import done across the net.

In article <#zppGcWQ...@TK2MSFTNGP11.phx.gbl>, Andy Allred [MS] wrote:
> From: "Andy Allred [MS]" <and...@online.microsoft.com>
> Subject: Re: XPe and daylight saving time changes
> Date: Mon, 6 Mar 2006 13:43:36 -0800
> Newsgroups: microsoft.public.windowsxp.embedded

Dave R.

unread,
Mar 7, 2006, 10:24:50 AM3/7/06
to
Larry,

Funny you should ask about this, I was just researching Time Zone &
Daylight Saving Time stuff yesterday in preparation for an XP Embedded
project our company is getting ready to start. Bottom line is that it
should be able to be changed via an update to the registry.

Here's some more details of what I was able to find out in case anyone
is interested (most from
http://www.pcmag.com/article2/0,1895,1166625,00.asp):

The full list of Time Zones and their Daylight Saving Time settings are
in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. Each
Time Zone is a separate key under this key, and each contains a binary
value (TZI) that defines the dates and biases (offsets) from GMT. The
structure looks like this:

Private Type REGTIMEZONEINFORMATION
Bias As Long
StandardBias As Long
DaylightBias As Long
StandardDate As SYSTEMTIME
DaylightDate As SYSTEMTIME
End Type

The three different Bias values in the structure indicate differences in
minutes between GMT and local time. For any time zone, you can calculate
standard time and daylight saving time from GMT like this:

Standard Time = GMT - Bias - StandardBias
Daylight Saving Time = GMT - Bias - DaylightBias

Its a bit harder figuring out when daylight saving time and standard
time take effect. The two SYSTEMTIME structures are used in a special
way to indicate when the switch is made between standard time and
daylight saving time. The SYSTEMTIME structure looks like this:

Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

If the wMonth field is non-zero in both SYSTEMTIME structures, then the
two structures contain valid information. If either wMonth field is
zero, then daylight saving time is not observed in the time zone.

If daylight saving time is observed in the time zone, then you look at
the wYear field to figure out when it begins and ends. If the wYear
field is non-zero, then the structure indicates an exact month, day, and
time when the switch is made from standard time to daylight time (or
back again). However, in all the Time Zones I checked the wYear field
was zero, so the field values have a different meaning.

When wYear is zero, wMonth indicates the month (1 equals January, etc.)
in which the switch is made, wDayOfWeek indicates the day of the week (0
is Sunday, etc.), and wDay is a number between 1 and 5 where 1 means the
first occurrence of wDayOfWeek in the month, 2 means the second
occurrence, etc.

Hope this helps!

Dave

0 new messages