World Time Zone Database Subscription Service

Subscribers Only
Login:
Password:
(Not a subscriber? Click here to sign up)

 
World Time Server.com has become a valued destination on the Internet because of its comprehensive nature and because of the accurate world time data it provides.

You can now acquire the current database used on World Time Server.com to integrate in your company web site or in your own developed applications. Depend on our expertise to provide accurate world time data and get back to focusing on what you do best!

Many of the world's largest companies, international airlines, shipping companies, auction sites, currency traders and even government agencies subscribe to our world time zone database service. People who count on time, count on us!
 

What You Get

 
When you subscribe to this data delivery service, we will send you:

  1. Complete database in your choice of XML or ASCII comma delimited formats for easy import or direct use in any custom project development you create. (click for more info on the XML file or the ASCII file, including samples)
     
  2. Username and Password for online updates all year long with updates available as soon as we have new information. You can check for updates on demand for the duration of your one year subscription. We highly recommend checking at least quarterly for updates to the time zone data files to ensure your web site or application always has the most accurate information available. We also send email announcements when new versions of the databases are available.
     
  3. Bonus for .NET Programmers: A .NET 4.5 .dll you can use with our database to help you retrieve data or perform time calculations without the extra work of programming it yourself. This .dll is available as is and is the same one we use for our WorldTimeServer web site.
     
  4. Optional: Map Polygons. For each of the time zone locations in our database, we now have Map Polygons in KML format available. (click here to download a sample)  Polygons can be a valuable addition because they allow you to use Longitude/Latitude to pinpoint the matching time location.
     

What Does It Cost?

 
Our Premium Time Zone Database is available by subscription only through our parent company, Chaos Software Group, Inc. The subscription fee is $399.95 (US) per year.

Optional Addon - Map Polygons: The complete set of polygon files is an additional $100.00 (US) per year for our database subscribers.
 

How To Subscribe

  1. Subscribe online using our secure order form (Available 24/7), or
     
  2. Subscribe by phone at (972) 759-1121 (Agents are available between 8:30am - Noon and 1:00pm - 5:00pm, M-F in Dallas)
     

Any Questions?

 
We would be happy to answer questions about this subscription service. If there is some additional information you need that you cannot find on this site, please contact us!
 

Data: Details and Documentation

XML File Details

One of the data formats provided with our Time Zone Database service is an XML formatted file. This XML file can be used within your project as the data source without requiring retyping of the information shown in this printed guide.

This XML file contains information about each Location, including pattern-based rules for Daylight Savings Time, where applicable. The fields or nodes used in the XML file to describe each location are:

  1  Location ID  Unique Location code, based on ISO 3166-1 list used by the United Nations
  2  Country  Name of Country
  3  Region  Name of Region (used only if Country has more than one time zone)
  4  Landmarks  Contains subnodes for <City>. Most locations have at least one city to provide the best known or most populated city or cities in this specific Region or Country
  5  StdName  Full local name for Time Zone when observing Standard Time*
  6  StdAbbrev  Local abbreviation for Time Zone when observing Standard Time*
  7  DstName  Full local name for Time Zone when observing Daylight Saving Time*
  8  DstAbbrev  Local abbreviation for Time Zone when observing Daylight Saving Time*
  9  TimeRules  Contains <Rule> subnodes with current and future time rule information for this location. Each Rule contains:
a)Effective  Date in UTC when rule should be considered to be in effect
b)StdBias  Normal difference of time in this location from UTC, shown in hours and minutes (+/-HHMM)
c)DstBias  If location supports Daylight Saving Time, difference in time of this location from UTC during dates DST is in effect, shown in hours and minutes (+/-HHMM)
d)DstStart  Rule for when Daylight Saving Time begins in this location, if applicable. If location uses DST and has a pattern which can be determined, this field shows the pattern as 0200 LST-SUN-MAR meaning at 02:00 am local time on the last Sunday in March.
e)DstEnd  Rule for when Daylight Saving Time ends in this location, if it has a start.

Please note that old rules will be purged from the database after they are no longer effective.

Any items with effective dates of January 1, 2010 have been in effect for longer, but have been given this date simply to show they are in effect now, if not superseded by a later rule.

* please note that not all locations around the world have an official time zone name for their location. If a country has only one time zone, they often would not find it necessary to name it at all! There are other sites on the Internet that have made up their own names to fill in these blanks, but they don't necessarily agree with each other and people in that location would not necessarily recognize the names these sites came up with. So, don't be surprised to find blank entries, as we only list time zone names for places that actually have them. If you find a blank for a location you are interested in, we recommend that you simply refer to it with generic terms such as Standard Time or Daylight Savings Time in lieu of a real time zone name.

Click here to view an sample of what the XML file looks like, to show some real examples of how these fields are used.
 

ASCII CSV File Details

One of the data formats provided with our Time Zone Database service is an ASCII delimited file. This ASCII file can be used within your project as the data source without requiring retyping of the information shown in this printed guide.

If you are unfamiliar with what an ASCII comma delimited text file or CSV file looks like, each location is on a separate line, with quotation marks at the beginning and end of each field and with commas separating the fields.

The first line of the CSV file contains the field names to define what data the rest of the file holds. These fields are:

 1  Location ID Unique Location code, based on ISO 3166-1 list used by the United Nations
 2  Country Name of Country
 3  Region Name of Region (used only if Country has more than one time zone)
 4  City List List of some major cities in this specific Region or Country
 5  StdBias Normal difference in hours and minutes of time in this location from UTC (+/-HHMM)
 6  DstBias If location supports Daylight Saving Time, difference in time of this location from UTC during dates DST is in effect, shown in hours and minutes (+/-HHMM)
 7  DstStartPattern Rule for when Daylight Saving Time begins in this location, if applicable. If location uses DST and has a pattern which can be determined, this field shows the pattern as 0200 LST-SUN-MAR meaning at 02:00 am local time on the last Sunday in March.
 8  DstEndPattern Rule for when Daylight Saving Time ends in this location
 9  MapFile Pertains to World Time Server web site only for map display
10  ThisYearDSTStart In local time, actual day and time Daylight Saving Time begins in the current year
11  ThisYearDSTEnd In local time, actual day and time this location will return to standard time
12  NextYearDSTStart In local time, actual day and time Daylight Saving Time begins next year
13  NextYearDSTEnd In local time, actual day and time this location will return to standard time
14  ThisYearUTCStart In UTC time, actual day and time Daylight Saving Time begins in the current year
15  ThisYearUTCEnd In UTC time, actual day and time this location will return to standard time
16  NextYearUTCStart In UTC time, actual day and time Daylight Saving Time begins next year
17  NextYearUTCEnd In UTC time, actual day and time this location will return to standard time
18  StdZoneName Full local name for Time Zone when observing Standard Time*
19  StdZoneAbbrev Local abbreviation for Time Zone when observing Standard Time*
20  DstZoneName Full local name for Time Zone when observing Daylight Saving Time*
21  DstZoneAbbrev Local abbreviation for Time Zone when observing Daylight Saving Time*

 
* please note that not all locations around the world have an official time zone name for their location. If a country has only one time zone, they often would not find it necessary to name it at all! There are other sites on the Internet that have made up their own names to fill in these blanks, but they don't necessarily agree with each other and people in that location would not necessarily recognize the names these sites came up with. So, don't be surprised to find blank entries, as we only list time zone names for places that actually have them. If you find a blank for a location you are interested in, we recommend that you simply refer to it with generic terms such as Standard Time or Daylight Savings Time in lieu of a real time zone name.

By the way, UTC refers to Universal Time Co-ordinated, also known as Greenwich Mean Time (GMT) or Zulu time. Local times around the world can be compared by the difference (or bias) between the each location and UTC. UTC time is not necessarily the time in any given country. For example, the United Kingdom will change its clocks for Summer Time or Daylight Saving Time for part of the year and during that period will be an hour off of UTC!

Click here for a sample of what the ASCII text file will look like.
 

World Time .NET component for Windows and Web projects

If you want to provide accurate local times on your own website or applications, we have included a special .NET component (ChaosSoftware.WorldTime.dll). This will allow you to simply query this object to get local times around the world, rather than creating a time project from scratch.

Requirements

  • Microsoft .NET Framework 4.5
  • ChaosSoftware.WorldTime.dll - a .NET component supplied free to World Time Data Subscribers
  • worldtime.xml - one of the data files available with our World Time Data Subscription
  • Friendly to both 32bit or 64bit development

Using the WorldTime .NET Component in ASP.NET

The worldtime component can take any time in UTC and a location and return to you the matching time in the specified location. Here is a basic walkthrough of using this component to retrieve and display a current time around the world.

First, you need to add the ChaosSoftware.WorldTime.dll to your project.

Second, before you can use any functions, you need to load the supplied WorldTime data into memory. If you plan to use the time functions often, you should likely put this in your Application Start area. Here is a sample from a Global.asax.vb file :

     Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
         ChaosSoftware.WorldTime.LoadData("c:\worldtimedata\worldtime.xml")
     End Sub

With the data loaded you can now find the data for a specific location, then ask for the current local time of the location. Here is a sample:

     Dim ThisLocation As New ChaosSoftware.WorldTime.Location("US-TX")
     Dim ThisLocalTime as ChaosSoftware.WorldTime.TimeResponse
     ThisLocalTime = ThisLocation.GetLocalTime
     Response.Write(ThisLocalTime.ReturnedTime.ToString)

The TimeResponse mentioned in this sample provides two important pieces of information: both a converted local time as of right when the code executed, as well as a Boolean value to indicate whether this location is observing daylight savings time or not at the time given. Providing the knowledge of whether DST is in use or not is why we have our own TimeResponse object instead of just returning a Date alone.

You don't have to only get the current time either. You can feed in any UTC time and have it respond back with a local time. There is also a .GetUTCTime function to do the reverse and change any local time to a matching UTC time. Here is an example of using both functions to convert a time in one location to another:

     Dim Location1 As New ChaosSoftware.WorldTime.Location("US-TX")
     Dim ThisUTCTime as ChaosSoftware.WorldTime.TimeResponse
     ThisUTCTime = Location1.GetUTC(New Date(2012, 12, 31, 23, 59, 00))
     Dim Location2 as New ChaosSoftware.WorldTime.Location("AU-NSW")
     Dim TimeInLocation2 as ChaosSoftware.WorldTime.TimeResponse
     TimeInLocation2 = Location2.GetLocalTime(ThisUTCTime.TimeResponse)
     Response.Write(TimeInLocation2.ReturnedTime.ToString)

  

DLL Documentation

Location Functions

Location
Parameters: LocationID
Returns: ChaosSoftware.WorldTime.Location (as defined below)
Purpose: Provide any Location in the WorldTime database and this function will retrieve all the information for this location in a strongly classed, ready to use object.
Example:

      Dim ThisLocation As New ChaosSoftware.WorldTime.Location("US-TX")

A Location object has the following attributes:

  • LocationID As String - the unique identifier for this location
  • Country As String
  • Region As String - this field is only used if the country has multiple time zones, usually a state or province name or other information to help describe the specific location
  • CityList As String - a simple comma delimited list of major cities found in this location
  • StdBias As String - the offset from UTC for this location, in +/-HHMM format
  • StdBiasInMinutes As Integer - the offset from UTC for this location, in Minutes, as an Integer
  • DstBias As String - if empty, location does not use DST. If not empty, the offset from UTC used when DST is in effect, in +/-HHMM format
  • DstBiasInMinutes As Integer - the offset from UTC for this location when DST is in effect, in Minutes, as an Integer
  • DstStart As String - a pattern describing when DST starts in this location
  • DstEnd As String - a pattern describing when DST ends in this location
  • StdZoneName As String - the local name for the time zone of this location (which may not be unique worldwide!)
  • StdZoneAbbrev As String - the local abbreviation for this time zone
  • DstZoneName As String - the local name for the time zone when DST is observed
  • DstZoneAbbrev As String - the local abbreviation for this time zone when DST is observed

Once you have created a new location, you can use the following functions:

GetLocalTime
Parameters: none
Returns: ChaosSoftware.WorldTime.TimeResponse
Purpose: To return the current local date and time. The TimeResponse will provide both a ReturnedTime and a boolean value of LocationInDST which will return either True or False to indicate whether location is observing DST at the returned time.

GetLocalTime
Parameters: UTCTimeToConvert (as Date)
Returns: ChaosSoftware.WorldTime.TimeResponse
Purpose: To return the local date and time from a specified UTC input Date. The TimeResponse will provide both a ReturnedTime and a boolean value of LocationInDST which will return either True or False to indicate whether location is observing DST at the returned time.

GetUtc
Parameters: LocalTimeToConvert (as Date)
Returns: ChaosSoftware.WorldTime.TimeResponse
Purpose: To return the UTC DATE and TIME from a LOCAL TIME input. The TimeResponse will provide both a ReturnedTime and a boolean value of LocationInDST which will return either True or False to indicate whether location is observing DST at the returned time.

GetTimeRule
Parameters: BaseUTCDate
Returns: ChaosSoftware.WorldTime.TimeRule
Purpose: The properties of the location can provide the CURRENT time zone rules for this location. While this information is generally right for most locations all of the time, there is always the possibility that this location could have a new rule for the future that is simply not in effect yet. With this function, if you are looking for the time zone rules that will be in effect on a future date rather than right now, you can retrieve the value for StdBias, StdBiasInMinutes, DstBias, DstBiasInMinutes, DstStart and DstEnd that will be in effect on that specified date.

GetDstDates
Parameters: none
Returns: ChaosSoftare.WorldTime.DstDates
Purpose: Similar to the data provided in the ASCII version of our database, this function provides the dates for this year's and next year's transition to and from DST if location observes it.
Northern Hemisphere locations roll over the dates for this year and next year on January 1st of each year.
Southern Hemisphere locations roll over the dates for this year and next year on July 1st of each year.

Response Structures

TimeResponse
Purpose: Used with GetLocalTime or GetUtc
Properties:

  • ReturnedTime As Date
  • LocationInDst as Boolean


TimeRule
Purpose: Used with GetTimeRule to provide alternative time zone rules on a particular date for a particular location
Properties:

  • StdBias As String
  • StdBiasInMinutes As Integer
  • DstBiasAs String
  • DstBiasInMinutes As Integer
  • DstStart As String
  • DstEnd As String


DstDates
Purpose: Used with GetDstDates to provide actual dates and times for DST transitions for this year and next year
Properties:

  • StartPattern As String
  • EndPattern As String
  • ThisYearStartLocal As Date
  • ThisYearStartUTC As Date
  • ThisYearEndLocal As Date
  • ThisYearEndUTC As Date
  • NextYearStartLocal As Date
  • NextYearStartUTC As Date
  • NextYearEndLocal As Date
  • NextYearEndUTC As Date

General Functions

LoadData
Parameters: XMLFileName
Purpose: To load your current worldtime.xml file into memory. You will need to supply a complete path where this file can be located.
Example:

     LoadData("c:\project1\worldtimedata\worldtime.xml")

Decode_Date
Parameters: A DST pattern (as given in the DstStart or DstEnd for a Location), Year (as short number)
Returns: DateTime
Purpose: Converts a pattern into a specific day and time for a given year

IsValidLocationID
Parameters: PlaceToCheck (as String)
Returns: Boolean
Purpose: Determine if a potential location id is a valid current location in the database

FindLocationIDs
Parameters: Field, SearchFor, InstrCompare, MultiHit
Returns: String (comma delimited list of LocationIDs)
Purpose: To locate the specific locations that match search criteria
Values:
  Field (String) = Which attribute of a location to search on. Possible values are

  1. LocationID - use "locationid" or "1"
  2. Country - use "country" or "2"
  3. Region - use "region or "3"
  4. City List = use "city" or "4"
  5. Standard UTC Variance - use "stdbias" or "5"
  6. Daylight UTC Variance - use "dstbias" or "6"
  7. Daylight Start date and time (pattern) - use "dststart" or "7"
  8. Daylight End date and time (pattern) - use "dstend" or "8"

  SearchFor (String) = Any Text or Number to search for.
  InstrCompare (Boolean, optional) = If false, then performs exact match search. If true, it performs an partial match search.
  MultiHit (Boolean, optional) = If false, then returns only first hit. If true, returns a comma delimited list.

GetCountryList
Parameters: none
Returns: SortedList
Purpose: Returns a SortedList suitable for assigning to a listbox or dropdownlist control with all the location names in the WorldTime Database. The key of each item is a display name for the location and the value is the matching LocationID.

GetCountryListSelectedOnly
Parameters: SelectedList (as String - this should be a string of LocationID's separated by commas, such as "US-NY,US-CA,GB,AU-NSW" )
Returns: SortedList
Purpose: Returns a SortedList suitable for assigning to a listbox or dropdownlist control with all the location names for just the asked-for locations. The key of each item is a display name for the location and the value is the matching LocationID.

GetLocationIDList
Parameters: none
Returns: ArrayList
Purpose: Returns a complete list of just the LocationID values.

GetMajorCitiesList
Parameters: none
Returns: SortedList
Purpose: Returns a SortedList suitable for assigning to a listbox with all of the major cities provided in our database. The key of each item is a display name for the location with City and Country and the value is the matching LocationID.

    

DST Patterns

 
If you are using our DLL file, you won't need to decode the DST Patterns for yourself. However, if you decide to use the raw XML file directly, you will need to use the DST Patterns provided to determine the actual dates in any year where DST starts and stops.

Most rules are provided as repeating patterns, which assumes that the same pattern could continue to be applied to other years. For example, 0200 LST-SUN-MAR would mean the time change took place at 02:00 am local time on the last Sunday in March of any year in the effective range of the Time Rule. The week indicator might include 1ST, 2ND, 3RD, 4TH or LST, followed by three character day of the week, then a three character month.

However, not all rules have these types of repeating patterns. Some locations have a specific day of the month on which they transition. For example, 0200 30/03 would mean the time change always took place on the 30th day of March at 02:00 am, no matter what day of the week that might end up being on a given year. These rules are always in the format of local time in 24 hour format, then a space, then a two digit day, a "/" and finally a two digit month. You might note that these more literal rules always contain a "/" character to divide the day of the month and the month, where as the normal patterns have "-" characters, which might be a good test to see which type of decoding is neccessary to determine the actual dates.
 

Downloading Updates

 
Updates to your subscription are available both through our web site and through a secured feed. Email notificiations of updates are also sent as a reminder when locations have been updated with new or breaking information.
 

License Info

 
This component is licensed to the subscribers to the World Time Database from WorldTimeServer.com. You will have the right to use this on ONE web server OR ONE application while you are a subscriber to the WorldTime Database from worldtimeserver.com. Should you desire to use this component for more than one project, you can contact our sales department for special pricing information for enterprise or site-wide use.

This component is currently in use on http://www.worldtimeserver.com if that speaks to our opinion of its suitability for our own use. However, we provide this component AS-IS and make no promise or warrant that this worldtime.dll will meet your requirements or that the operation of the software will be uninterrupted or error free. Nor do we offer any Warranties or Guarantees of any kind. You are free to use this dll within the terms of your licence in any way you see fit, but AT YOUR OWN RISK.

It is also not our intention to provide consulting, performance tuning nor technical assistance beyond the very fundamentals for this component.  We simply provide it as an option for the subscribers to our WorldTime Database Service, should you decide it is useful for your needs.
 

Disclaimer

 
The information in this publication is subject to constant review due to changing government laws and regulations. Although every effort has been made to ensure the accuracy of this information, Chaos Software Group, Inc. and World Time Server.com shall not be held responsible for loss or damage caused by errors, omissions, misprints, or misinterpretation of the contents hereof. Furthermore, Chaos Software Group, Inc. and World Time Server.com expressly disclaims all and any liability to any person, whether a purchaser of this publication or not, in respect of anything done or omitted, and the consequences of anything done or omitted, by any such person in reliance on the contents of this publication.