System.TimeZoneInfo.ConvertTimeFromUtc 方法

方法描述

将协调世界时 (UTC) 转换为指定时区中的时间。

语法定义(C# System.TimeZoneInfo.ConvertTimeFromUtc 方法 的用法)

public static DateTime ConvertTimeFromUtc(
	DateTime dateTime,
	TimeZoneInfo destinationTimeZone
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
dateTime System-DateTime 协调世界时 (UTC)。
destinationTimeZone System-TimeZoneInfo 要将 dateTime 转换到的时区。
返回值 System.DateTime 目标时区的日期和时间。 如果 destinationTimeZone 为 TimeZoneInfo.Utc,则该值的 DateTime.Kind 属性为 DateTimeKind.Utc;否则该值的 DateTime.Kind 属性为 DateTimeKind.Unspecified。

提示和注释

执行转换时,ConvertTimeFromUtc 方法将有效应用 destinationTimeZone 时区中的任何调整规则。

此方法的确切行为取决于 dateTime 参数的 Kind 属性值,如下表所示。

DateTime.Kind 属性

转换

DateTimeKind.Local

引发 ArgumentException。

DateTimeKind.Unspecified 或 DateTimeKind.Utc

从协调世界时 (UTC) 进行转换。

如果 dateTime 的转换结果为早于 DateTime.MinValue 或晚于 DateTime.MaxValue 的日期和时间值,则此方法分别返回 DateTime.MinValue 或 DateTime.MaxValue。

对调用者的说明

在 Windows XP 系统中,如果 destinationTimeZone 是 TimeZoneInfo.Local,那么该方法只将当前调整规则应用于时区转换。 因此,该方法在当前调整规则生效之前可能无法准确转换时间段。更多信息,请参见 Local 属性中的调用节说明。

System.TimeZoneInfo.ConvertTimeFromUtc 方法例子

下面的示例将协调世界时 (UTC) 转换为中部标准时间。

DateTime timeUtc = DateTime.UtcNow;
try
{
   TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
   DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);
   Console.WriteLine("The date and time are {0} {1}.", 
                     cstTime, 
                     cstZone.IsDaylightSavingTime(cstTime) ?
                             cstZone.DaylightName : cstZone.StandardName);
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Central Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Central STandard Time zone has been corrupted.");
}

异常

异常 异常描述
ArgumentException dateTime 的 Kind 属性为 DateTimeKind.Local。
ArgumentNullException destinationTimeZone 为 null。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。