TimeZoneInfo.IsInvalidTime(DateTime) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定された日付と時刻が無効かどうかを示します。
public:
bool IsInvalidTime(DateTime dateTime);
public bool IsInvalidTime (DateTime dateTime);
member this.IsInvalidTime : DateTime -> bool
Public Function IsInvalidTime (dateTime As DateTime) As Boolean
パラメーター
- dateTime
- DateTime
日付と時刻の値。
戻り値
dateTime
が無効の場合は true
。それ以外の場合は false
。
例
太平洋タイム ゾーンでは、夏時間は午前 2 時から始まります。 2006 年 4 月 2 日 次のコードは、午前 1 時 59 分から 1 分間隔で時刻を渡します。 2006 年 4 月 2 日午前 3 時 1 分まで 2006 年 4 月 2 日に、 IsInvalidTime 太平洋タイム ゾーンを TimeZoneInfo 表すオブジェクトのメソッドに対して行われます。 コンソールの出力は、午前 2 時からのすべての時刻を示します。 2006 年 4 月 2 日午前 2 時 59 分 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));
}
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)
// Get Pacific Standard Time zone
let pstZone = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"
// List possible invalid times for a 63-minute interval, from 1:59 AM to 3:01 AM
for i = 0 to 62 do
// Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
let newTime = baseTime.AddMinutes i
printfn $"{newTime} is invalid: {pstZone.IsInvalidTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)
Dim newTime As Date
' Get Pacific Standard Time zone
Dim pstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")
' List possible invalid times for 63-minute interval, from 1:59 AM to 3:01 AM
For ctr As Integer = 0 To 62
' Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
newTime = baseTime.AddMinutes(ctr)
Console.WriteLine("{0} is invalid: {1}", newTime, pstZone.IsInvalidTime(newTime))
Next
注釈
無効な時刻は、調整規則の適用により世界協定時刻 (UTC) にマップできない現在のタイム ゾーンの時間の範囲内にあります。 通常、夏時間の前に時間が移動すると、無効な時刻が発生します。 図については、「例」セクションを参照してください。
パラメーターの Kind プロパティの値は、次の dateTime
表に示すように、無効な時刻を表すかどうか dateTime
に影響します。
DateTime.Kind プロパティ | TimeZoneInfo オブジェクト (該当する場合) | 動作 |
---|---|---|
DateTimeKind.Local | TimeZoneInfo.Local | 時刻が無効かどうかを判断します。 |
DateTimeKind.Local | TimeZoneInfo.Utc またはローカル以外のタイム ゾーン。 | オブジェクトの時刻にTimeZoneInfo変換dateTime し、返しますfalse 。 |
DateTimeKind.Unspecified | 適用不可。 | オブジェクトの dateTime 時刻 TimeZoneInfo を想定し、無効かどうかを判断します。 |
DateTimeKind.Utc | 適用不可。 | false を返します。 |