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 |
|
ArgumentNullException | sourceTimeZone 为 null。 |
版本信息
.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 系统要求。