Export (0) Print
Expand All

TimeZone.ToLocalTime Method

Returns the local time that corresponds to a specified coordinated universal time (UTC).

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

public virtual DateTime ToLocalTime (
	DateTime time
)
public DateTime ToLocalTime (
	DateTime time
)
public function ToLocalTime (
	time : DateTime
) : DateTime

Parameters

time

A UTC time.

Return Value

A DateTime instance whose value is the local time that corresponds to time.

Coordinated universal time (UTC) was previously known as Greenwich Mean Time (GMT). Local time is the date and time on the computer you are using. Offset is the difference between local time and GMT. That is:

local time = UTC + offset

The following code example uses the ToLocalTime method to return the local times that correspond to several Coordinated Universal Times (UTC).

// Example of the TimeZone.ToLocalTime( DateTime ) and 
// TimeZone.GetUtcOffset( DateTime ) methods.
using System;

class UTCTimeDemo
{
    static void Main( )
    {
        const string headFmt = "{0,-20}{1,-20}{2,-12}{3}";

        // Get the local time zone and a base Coordinated Universal 
        // Time (UTC).
        TimeZone localZone = TimeZone.CurrentTimeZone;
        DateTime baseUTC = new DateTime( 2000, 1, 1 );

        Console.WriteLine( "This example of \n" +
            "   TimeZone.ToLocalTime( DateTime ) and\n" +
            "   TimeZone.GetUtcOffset( DateTime ) \ngenerates the " +
            "following output, which varies depending on the time " +
            "zone \nin which it is run. The example creates several " +
            "Coordinated Universal \nTimes (UTC), displays the " +
            "corresponding local times and UTC offsets, \nand shows " +
            "if the times occur in daylight saving time (DST)." );
        Console.WriteLine( "\nLocal time: {0}\n", 
            localZone.StandardName );

        Console.WriteLine( headFmt, "UTC", "Local Time", 
            " Offset", "DST?" );
        Console.WriteLine( headFmt, "---", "----------", 
            " ------", "----" );

        // Generate several UTC times.
        for( int loopX = 0; loopX <= 10; loopX++ )
        {
            // Calculate the local time and UTC offset.
            DateTime localTime = localZone.ToLocalTime( baseUTC );
            TimeSpan localOffset = 
                localZone.GetUtcOffset( localTime );

            Console.WriteLine( "{0,-20:yyyy-MM-dd HH:mm}" +
                "{1,-20:yyyy-MM-dd HH:mm}{2,-12}{3}", 
                baseUTC, localTime, localOffset, 
                localZone.IsDaylightSavingTime( localTime ) );
            
            // Advance to another UTC.
            baseUTC = baseUTC.AddDays( 155.55 );
        }
    } 
} 

/*
This example of
   TimeZone.ToLocalTime( DateTime ) and
   TimeZone.GetUtcOffset( DateTime )
generates the following output, which varies depending on the time zone
in which it is run. The example creates several Coordinated Universal
Times (UTC), displays the corresponding local times and UTC offsets,
and shows if the times occur in daylight saving time (DST).

Local time: Pacific Standard Time

UTC                 Local Time           Offset     DST?
---                 ----------           ------     ----
2000-01-01 00:00    1999-12-31 16:00    -08:00:00   False
2000-06-04 13:12    2000-06-04 06:12    -07:00:00   True
2000-11-07 02:24    2000-11-06 18:24    -08:00:00   False
2001-04-11 15:36    2001-04-11 08:36    -07:00:00   True
2001-09-14 04:48    2001-09-13 21:48    -07:00:00   True
2002-02-16 18:00    2002-02-16 10:00    -08:00:00   False
2002-07-22 07:12    2002-07-22 00:12    -07:00:00   True
2002-12-24 20:24    2002-12-24 12:24    -08:00:00   False
2003-05-29 09:36    2003-05-29 02:36    -07:00:00   True
2003-10-31 22:48    2003-10-31 14:48    -08:00:00   False
2004-04-04 12:00    2004-04-04 05:00    -07:00:00   True
*/ 

// Example of the TimeZone.ToLocalTime( DateTime ) and 
// TimeZone.GetUtcOffset( DateTime ) methods.
import System.*;

class UTCTimeDemo
{
    public static void main(String[] args)
    {
        final String headFmt = "{0,-20}{1,-20}{2,-12}{3}";

        // Get the local time zone and a base Coordinated Universal 
        // Time (UTC).
        TimeZone localZone = TimeZone.get_CurrentTimeZone();
        DateTime baseUTC = new DateTime(2000, 1, 1);
        Console.WriteLine(("This example of \n" 
            + "TimeZone.ToLocalTime( DateTime ) and\n" 
            + "   TimeZone.GetUtcOffset( DateTime ) \ngenerates the " 
            + "following output, which varies depending on the time " 
            + "zone \nin which it is run. The example creates several " 
            + "Coordinated Universal \nTimes (UTC), displays the " 
            + "corresponding local times and UTC offsets, \nand shows " 
            + "if the times occur in daylight saving time (DST)."));
        Console.WriteLine("\nLocal time: {0}\n",localZone.get_StandardName());
        Console.WriteLine(headFmt, new Object[] { "UTC", "Local Time",
            " Offset","DST?" });
        Console.WriteLine(headFmt, new Object[] { "---", "----------",
            " ------", "----" });

        // Generate several UTC times.
        for (int loopX = 0; loopX <= 10; loopX++) {
            // Calculate the local time and UTC offset.
            DateTime localTime = localZone.ToLocalTime(baseUTC);
            TimeSpan localOffset = localZone.GetUtcOffset(localTime);

            Console.WriteLine("{0,-20:yyyy-MM-dd HH:mm}" 
                +    "{1,-20:yyyy-MM-dd HH:mm}{2,-12}{3}",
                new Object[] {baseUTC, localTime, localOffset,
                (System.Boolean)localZone.IsDaylightSavingTime(localTime) });

            // Advance to another UTC.
            baseUTC = baseUTC.AddDays(155.55);
        }
    } //main
} //UTCTimeDemo

/*
This example of
   TimeZone.ToLocalTime( DateTime ) and
   TimeZone.GetUtcOffset( DateTime )
generates the following output, which varies depending on the time zone
in which it is run. The example creates several Coordinated Universal
Times (UTC), displays the corresponding local times and UTC offsets,
and shows if the times occur in daylight saving time (DST).

Local time: Pacific Standard Time

UTC                 Local Time           Offset     DST?
---                 ----------           ------     ----
2000-01-01 00:00    1999-12-31 16:00    -08:00:00   False
2000-06-04 13:12    2000-06-04 06:12    -07:00:00   True
2000-11-07 02:24    2000-11-06 18:24    -08:00:00   False
2001-04-11 15:36    2001-04-11 08:36    -07:00:00   True
2001-09-14 04:48    2001-09-13 21:48    -07:00:00   True
2002-02-16 18:00    2002-02-16 10:00    -08:00:00   False
2002-07-22 07:12    2002-07-22 00:12    -07:00:00   True
2002-12-24 20:24    2002-12-24 12:24    -08:00:00   False
2003-05-29 09:36    2003-05-29 02:36    -07:00:00   True
2003-10-31 22:48    2003-10-31 14:48    -08:00:00   False
2004-04-04 12:00    2004-04-04 05:00    -07:00:00   True
*/

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

ADD
Show:
© 2015 Microsoft