Click here to Skip to main content
15,889,116 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi,
I wan search the list of those cities which have accepted daylight saving standard. I am working on platform Windows2008-R2 and language MFC.
Please Help.
Posted

The following information seems to have disappeared from MSDN but should give you a head start. However, note that time zones do not (in general) apply to cities, but to countries or parts of countries.


Retrieving Time-Zone Information

Article ID: Q115231
The information in this article applies to:
Microsoft Win32 Application Programming Interface (API):

In Windows NT and beyond, the time-zone strings are located in the key:


HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\
Windows NT\
CurrentVersion\
Time Zones.


In Windows 95, the time-zone strings are located in the key:

HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\
Windows\
CurrentVersion\
Time Zones.


For each time zone, the registry key TZI is formatted as follows:

LONG Bias;
LONG StandardBias;
LONG DaylightBias;
SYSTEMTIME StandardDate;
SYSTEMTIME DaylightDate;


You can use this information to fill out a TIME_ZONE_INFORMATION
structure, which is used when calling SetTimeZoneInformation().

0xffffffc4
00000000
0xffffffc4
Year Month dow day hour min sec msec
0000 000A 0000 0005 0003 0000 0000 0000

0000 0003 0000 0005 0002 0000 0000 0000


--------------------------------------------------------------------------------



TIME_ZONE_INFORMATION
The TIME_ZONE_INFORMATION structure specifies information
specific to the time zone.

typedef struct _TIME_ZONE_INFORMATION { // tzi
LONG Bias;
WCHAR StandardName[ 32 ];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName[ 32 ];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
} TIME_ZONE_INFORMATION;

Members

Bias
Specifies the current bias, in minutes, for local time
translation on this computer. The bias is the difference, in
minutes, between Coordinated Universal Time (UTC) and local
time. All translations between UTC and local time are based on
the following formula:

UTC = local time + bias

This member is required.

StandardName
Specifies a null-terminated string associated with standard
time on this operating system. For example, this parameter
could contain "EST" to indicate Eastern Standard Time. This
string is not used by the operating system, so anything stored
there by using the SetTimeZoneInformation function is returned
unchanged by the GetTimeZoneInformation function. This string
can be empty.

StandardDate
Specifies a SYSTEMTIME structure that contains a date and local
time when the transition from daylight time to standard time
occurs on this operating system. If this date is not specified,
the wMonth member in the SYSTEMTIME structure must be zero. If
this date is specified, the DaylightDate value in the
TIME_ZONE_INFORMATION structure must also be specified.
This member supports two date formats. Absolute format
specifies an exact date and time when standard time begins. In
this form, the wYear, wMonth, wDay, wHour, wMinute, wSecond,
and wMilliseconds members of the SYSTEMTIME structure are used
to specify an exact date.

Day-in-month format is specified by setting the wYear member
to zero, setting the wDayOfWeek member to an appropriate
weekday, and using a wDay value in the range 1 through 5 to
select the correct day in the month. Using this notation, the
first Sunday in April can be specified, as can the last
Thursday in October (5 is equal to "the last").

StandardBias
Specifies a bias value to be used during local time
translations that occur during standard time. This member is
ignored if a value for the StandardDate member is not supplied.
This value is added to the value of the Bias member to form
the bias used during standard time. In most time zones, the
value of this member is zero.

DaylightName
Specifies a null-terminated string associated with daylight
time on this operating system. For example, this parameter
could contain "PDT" to indicate Pacific Daylight Time. This
string is not used by the operating system, so anything stored
there by using the SetTimeZoneInformation function is returned
unchanged by the GetTimeZoneInformation function. This string
can be empty.

DaylightDate
Specifies a SYSTEMTIME structure that contains a date and
local time when the transition from standard time to daylight
time occurs on this operating system. If this date is not
specified, the wMonth member in the SYSTEMTIME structure must
be zero. If this date is specified, the StandardDate value in
the TIME_ZONE_INFORMATION structure must also be specified.
This member supports the absolute and day-in-month time formats
described for the StandardDate member.

DaylightBias
Specifies a bias value to be used during local time translations
that occur during daylight time. This member is ignored if a
value for the DaylightDate member is not supplied.
This value is added to the value of the Bias member to form the
bias used during daylight time. In most time zones, the value of
this member is – 60.


See Also
Time Overview,
Time Structures,
GetTimeZoneInformation,
SetTimeZoneInformation,
SYSTEMTIME
 
Share this answer
 
Not sure there is a library for that.

You may have to write your own DLL.
 
Share this answer
 
Comments
MS_TJ 14-Jan-15 20:31pm    
I didnt find the exact solution. I have created XML file which will have the name of the cities.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900