System.TimeZoneInfo.ConvertTimeBySystemTimeZoneId 方法 (DateTimeOffset, String)
方法描述
根据时区标识符将时间转换为另一时区中的时间。
语法定义(C# System.TimeZoneInfo.ConvertTimeBySystemTimeZoneId 方法 (DateTimeOffset, String) 的用法)
public static DateTimeOffset ConvertTimeBySystemTimeZoneId( DateTimeOffset dateTimeOffset, string destinationTimeZoneId )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
dateTimeOffset | System-DateTimeOffset | 要转换的日期和时间。 |
destinationTimeZoneId | System-String | 目标时区的标识符。 |
返回值 | System.DateTimeOffset | 目标时区的日期和时间。 |
提示和注释
执行转换时,ConvertTimeBySystemTimeZoneId 方法将有效应用 destinationTimeZoneId 时区中的任何调整规则。
此方法重载相当于调用 ConvertTime(DateTime, TimeZoneInfo) 方法,区别是前者允许您通过其标识符而不是对象引用来指定目标时区。 如果您必须转换时间而不检索与该时间相对应的时区对象,并且不需要知道转换后的时间是标准时间还是夏时制时间,则此方法非常有用。
由于 dateTimeOffset 参数将日期和时间与该时间和协调世界时 (UTC) 的偏移量一起表示,因此它不能表示不明确的时间或无效时间。
此方法检索标识符由 destinationTimeZoneId 参数从注册表指定的时区。 它不能检索使用 CreateCustomTimeZone 方法创建的时区对象。 若要匹配成功,destinationTimeZoneId 参数必须在长度上与时区的注册表项完全对应,但与大小写无关。即,destinationTimeZoneId 与时区标识符的比较不区分大小写。
在将 dateTimeOffset 值转换为目标时区时间的过程中,此方法会考虑目标时区中所有有效的调整规则。
如果 dateTimeOffset 的转换结果为早于 DateTimeOffset.MinValue 或晚于 DateTimeOffset.MaxValue 的日期和时间值,则此方法分别返回 DateTimeOffset.MinValue 或 DateTimeOffset.MaxValue。
System.TimeZoneInfo.ConvertTimeBySystemTimeZoneId 方法 (DateTimeOffset, String)例子
异常
异常 | 异常描述 |
---|---|
ArgumentNullException | destinationTimeZoneId 为 null。 |
InvalidTimeZoneException | 已找到时区标识符,但注册表数据已损坏。 |
SecurityException | 进程没有读取包含时区信息的注册表项所需的权限。 |
TimeZoneNotFoundException | 在本地系统上找不到 destinationTimeZoneId 标识符。 |
版本信息
.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 系统要求。