System.TimeZoneInfo.ConvertTimeToUtc 方法 (DateTime, TimeZoneInfo)

方法描述

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

语法定义(C# System.TimeZoneInfo.ConvertTimeToUtc 方法 (DateTime, TimeZoneInfo) 的用法)

public static DateTime ConvertTimeToUtc(
	DateTime dateTime,
	TimeZoneInfo sourceTimeZone
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
dateTime System-DateTime 要转换的日期和时间。
sourceTimeZone System-TimeZoneInfo dateTime 的时区。
返回值 System.DateTime 与 dateTime 参数对应的协调世界时 (UTC)。 DateTime 对象的 Kind 属性始终设置为 DateTimeKind.Utc。

提示和注释

如果 dateTime 参数的 Kind 属性等于 DateTimeKind.Utc,并且 sourceTimeZone 参数等于 TimeZoneInfo.Utc,则此方法返回 dateTime,而不执行任何转换。

如果 dateTime 对应于不明确的时间,则此方法假定其为源时区的标准时间。 如果 dateTime 对应于无效时间,则此方法会引发 ArgumentException。

如果等于 dateTime 的协调世界时 (UTC) 早于 DateTime.MinValue 或晚于 DateTime.MaxValue,则此方法分别返回 MinValue 或 MaxValue。

对调用者的说明

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

System.TimeZoneInfo.ConvertTimeToUtc 方法 (DateTime, TimeZoneInfo)例子

请注意,这两个 UTC 时间是相同的。

// Get time in local time zone 
DateTime thisTime = DateTime.Now;
Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(thisTime) ?
                  TimeZoneInfo.Local.DaylightName : TimeZoneInfo.Local.StandardName, thisTime);
Console.WriteLine("   UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(thisTime, TimeZoneInfo.Local));
// Get Tokyo Standard Time zone
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);      
Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(tstTime) ?
                  tst.DaylightName : tst.StandardName, tstTime);
Console.WriteLine("   UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(tstTime, tst));

异常

异常 异常描述
ArgumentException
  • dateTime .Kind 为 DateTimeKind.Utc,并且 sourceTimeZone 不等于 TimeZoneInfo.Utc。
  • dateTime .Kind 为 DateTimeKind.Local,并且 sourceTimeZone 不等于 TimeZoneInfo.Local。
  • sourceTimeZone .IsInvalidDateTime( dateTime ) 返回 true。
ArgumentNullException sourceTimeZone 为 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 系统要求。