System.TimeZoneInfo.IsInvalidTime 方法
方法描述
指示特定日期和时间是否无效。
语法定义(C# System.TimeZoneInfo.IsInvalidTime 方法 的用法)
public bool IsInvalidTime( DateTime dateTime )
参数/返回值
| 参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 | 
|---|---|---|
| dateTime | System-DateTime | 日期和时间值。 | 
| 返回值 | System.Boolean | 如果 dateTime 无效,则为 true;否则为 false。 | 
提示和注释
一个无效时间处于当前时区的时间范围内,而由于应用了调整规则,无法将该时间映射至协调世界时 (UTC)。 通常,当时间针对夏时制而提前时会出现无效时间。 有关说明,请参见“示例”部分。
dateTime 参数的 Kind 属性值会影响 dateTime 是否表示无效时间,如下表所示。
DateTime.Kind 属性
TimeZoneInfo 对象(如果适用)
行为
DateTimeKind.Local
TimeZoneInfo.Local
确定时间是否无效。
DateTimeKind.Local
TimeZoneInfo.Utc 或非本地时区。
将 dateTime 转换为 TimeZoneInfo 对象的时间,并返回 false。
DateTimeKind.Unspecified
不适用。
假定 dateTime 为 TimeZoneInfo 对象的时间,并确定其是否无效。
DateTimeKind.Utc
不适用。
返回 false。
对调用者的说明
在 Windows XP 系统中,如果当前实例是 TimeZoneInfo.Local,那么该方法只会应用该调整规则。 因此,该方法在当前调整规则生效之前可能无法准确报告 dateTime 是否为无效时间。 有关更多信息,请参见 Local 属性中的“调用方说明”一节。
System.TimeZoneInfo.IsInvalidTime 方法例子
在 2006 年 4 月 2 日,是无效的。
// Specify DateTimeKind in Date constructor
DateTime baseTime = new DateTime(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified);
DateTime newTime;
// Get Pacific Standard Time zone
TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
// List possible invalid times for a 63-minute interval, from 1:59 AM to 3: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 invalid: {1}", newTime, pstZone.IsInvalidTime(newTime));
}
版本信息
.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 系统要求。