System.TimeZoneInfo.IsAmbiguousTime 方法 (DateTime)

方法描述

确定特定时区中的特定日期和时间是否不明确以及是否可以映射至两个或多个协调世界时 (UTC) 时间。

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

public bool IsAmbiguousTime(
	DateTime dateTime
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
dateTime System-DateTime 日期和时间值。
返回值 System.Boolean 如果 dateTime 参数不明确,则为 true;否则为 false。

提示和注释

一个不明确时间处于当前时区的时间范围内。 这表示该时间可以是标准时间,也可以是应用调整规则后产生的时间。 通常,将时钟设置为从夏时制返回至标准时间时,会产生不明确的时间。 有关说明,请参见“示例”部分。

协调世界时 (UTC) 没有不明确的时间;不支持夏时制的时区也没有不明确的时间。 因此,这些时区没有调整规则,并且对 IsAmbiguousTime 方法的调用始终返回 false。

对于确实观察了夏时制的时区,此方法的确切行为取决于 Kind 属性和 TimeZoneInfo 对象之间的关系,如下表所示。

TimeZoneInfo 对象类型

Kind 属性值

行为

TimeZoneInfo.Local

DateTimeKind.Local 或 DateTimeKind.Unspecified

确定 dateTime 参数是否不明确。

TimeZoneInfo.Local

DateTimeKind.Utc

将 dateTime 转换为本地时间,然后确定该时间是否不明确。

TimeZoneInfo.Utc

DateTimeKind.Utc 或 DateTimeKind.Unspecified

返回 false。

TimeZoneInfo.Utc

DateTimeKind.Local

如果 dateTime 不明确,则假定它是标准时间,将其转换为 UTC,然后返回 false。

任何其他时区。

DateTimeKind.Local 或 DateTimeKind.Utc

将 dateTime 转换为指定时区中的时间,然后确定该时间是否不明确。

任何其他时区。

DateTimeKind.Unspecified

确定 dateTime 是否不明确。

对调用者的说明

在 Windows XP 系统中,如果当前实例为 TimeZoneInfo.Local,则此方法只应用当前调整规则。 因此,该方法在当前调整规则生效之前可能无法准确报告 dateTime 是否为不明确的时间。 有关更多信息,请参见 Local 属性中的“调用方说明”一节。

System.TimeZoneInfo.IsAmbiguousTime 方法 (DateTime)例子

在 2007 年 11 月 4,是不明确的。

// Specify DateTimeKind in Date constructor
DateTime baseTime = new DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified);
DateTime newTime;

// Get Pacific Standard Time zone
TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");

// List possible ambiguous times for 63-minute interval, from 12:59 AM to 2:01 AM 
for (int ctr = 0; ctr < 63; ctr++)
{
   // Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
   newTime = baseTime.AddMinutes(ctr);   
   Console.WriteLine("{0} is ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime));
}

异常

异常 异常描述
ArgumentException dateTime 值的 Kind 属性为 DateTimeKind.Local,并且 dateTime 为无效时间。

命名空间

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 系统要求。