Click here to Skip to main content
16,019,976 members
Articles / Database Development / SQL Server

SQL Server - Convert UTC to Local Time

Rate me:
Please Sign up or sign in to vote.
4.82/5 (15 votes)
11 Jul 2006CPOL 192.4K   2.9K   31   28
Convert UTC to local time

Introduction

SQL Server does not provide a simple way to convert a UTC datetime value to a local time value. This project includes a table (tbTimeZoneInfo) with data to provide the Time Zone information and two functions to convert a UTC datetime value to any Local Time Zone.

The tbTimeZoneInfo table contains the Time Zone information for all the time zones from the registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. Anyone familiar with the TIME_ZONE_INFORMATION structure will recognize the structure of table tbTimeZoneInfo.

The function named GetLocalDateTime arguments are a TimeZoneID value from tbTimeZoneInfo and a UTC DateTime value. The GetUTCDate() function can be used to obtain the current UTC date.

Values in the tbTimeZoneInfo can be changed as needed. The values that are supplied in the form of SQL insertion scripts may not be up to date. They were obtained from the registry at a point in time and may now be out of date.

Simply read the UTCToLocal_ReadMe.txt file for instructions on creating the objects, inserting data and testing the GetLocalDateTime function.

History

  • 11th July, 2006: Initial post

License

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


Written By
Web Developer
United States United States
Live in Santa Barbara, CA aka "Paradise" with my awesome wife and daughter. Work as a software developer/typist.

Comments and Discussions

 
QuestionGreat solution but little bit confusion Pin
Member 109706795-Dec-15 1:03
Member 109706795-Dec-15 1:03 
GeneralMy vote of 5 Pin
Cesar Esquivel19-Apr-13 9:45
Cesar Esquivel19-Apr-13 9:45 
QuestionSummary of some issues Pin
emperorwal15-Nov-11 4:27
emperorwal15-Nov-11 4:27 
AnswerRe: Summary of some issues Pin
Joseph Leathlean13-Mar-12 6:43
Joseph Leathlean13-Mar-12 6:43 
GeneralMy vote of 5 Pin
seenit1-Jul-11 15:18
seenit1-Jul-11 15:18 
GeneralIndeed great article Pin
kishor kurapati3-Feb-11 22:54
kishor kurapati3-Feb-11 22:54 
GeneralNorthern vs. Southern Hemisphere Pin
Jack Siedliski23-Apr-10 12:23
Jack Siedliski23-Apr-10 12:23 
QuestionDoes not work? Pin
retro__3-Mar-10 12:14
retro__3-Mar-10 12:14 
AnswerRe: Does not work? Pin
retro__3-Mar-10 12:36
retro__3-Mar-10 12:36 
GeneralDaylight saving time change for USA Pin
Roman Sk16-Dec-09 23:53
Roman Sk16-Dec-09 23:53 
GeneralRe: Daylight saving time change for USA Pin
Josh Warner-Burke15-Jan-10 8:46
Josh Warner-Burke15-Jan-10 8:46 
GeneralRe: Daylight saving time change for USA Pin
AndyTexas15-Nov-10 6:09
AndyTexas15-Nov-10 6:09 
GeneralIssue where SQL Server DateFirst not set to 7 Pin
Tim Friesen28-Sep-09 5:21
Tim Friesen28-Sep-09 5:21 
Generalgreat script Pin
trance_dude28-May-09 10:24
trance_dude28-May-09 10:24 
Generalgreat Pin
Ra...aj17-Mar-09 1:11
Ra...aj17-Mar-09 1:11 
General"archive file is damaged" error Pin
stephen myint4-Dec-08 17:57
stephen myint4-Dec-08 17:57 
GeneralThanks for solving a problem that should be handled by the DB Pin
Stephen W Giles17-Oct-08 7:27
Stephen W Giles17-Oct-08 7:27 
GeneralRe: Thanks for solving a problem that should be handled by the DB Pin
buckindb3-Nov-08 4:34
buckindb3-Nov-08 4:34 
GeneralRe: Thanks for solving a problem that should be handled by the DB Pin
Stephen W Giles4-Nov-08 3:05
Stephen W Giles4-Nov-08 3:05 
GeneralRe: Thanks for solving a problem that should be handled by the DB Pin
Tim Friesen28-Sep-09 3:06
Tim Friesen28-Sep-09 3:06 
GeneralRe: Thanks for solving a problem that should be handled by the DB Pin
Tim Friesen28-Sep-09 3:34
Tim Friesen28-Sep-09 3:34 
GeneralConvert from local to UTC Pin
tomasz1234526-Oct-07 8:29
tomasz1234526-Oct-07 8:29 
GeneralBug in GetDaylightStandardDateTime Pin
rwt2sdf527-Sep-07 4:01
rwt2sdf527-Sep-07 4:01 
QuestionHi , Some Proble Pin
Ravi KM Mishra13-Sep-07 18:28
Ravi KM Mishra13-Sep-07 18:28 
GeneralSmall problem with GetLocalDateTime Pin
rockyfan2067-Dec-06 17:15
rockyfan2067-Dec-06 17:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.