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));
}

异常

异常 异常描述

命名空间

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