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