TimeZoneInfo.IsAmbiguousTime 方法

定義

判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。

多載

IsAmbiguousTime(DateTime)

判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。

IsAmbiguousTime(DateTimeOffset)

判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。

IsAmbiguousTime(DateTime)

來源:
TimeZoneInfo.cs
來源:
TimeZoneInfo.cs
來源:
TimeZoneInfo.cs

判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。

public:
 bool IsAmbiguousTime(DateTime dateTime);
public bool IsAmbiguousTime (DateTime dateTime);
member this.IsAmbiguousTime : DateTime -> bool
Public Function IsAmbiguousTime (dateTime As DateTime) As Boolean

參數

dateTime
DateTime

日期和時間值。

傳回

如果 dateTime 參數模稜兩可,則為 true,否則為 false

例外狀況

dateTime 值的 Kind 屬性是 Local,而且 dateTime 是無效的時間。

範例

在太平洋時區中,日光節約時間會在 2007 年 11 月 4 日上午 2:00 結束。 下列範例會將 2007 年 11 月 4 日 12:59 A.M. 到 2007 年 11 月 4 日上午 2:01 到 2007 年 11 月 4 日下午 12:59 的時間間隔,傳遞至 IsAmbiguousTime(DateTime) 代表太平洋時區的物件方法 TimeZoneInfo 。 主控台輸出表示 2007 年 11 月 4 日上午 1:00 到上午 1:59 到 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));
   }
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)

// Get Pacific Standard Time zone
let pstZone = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"

// List possible ambiguous times for 63-minute interval, from 12:59 AM to 2: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 ambiguous: {pstZone.IsAmbiguousTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)
Dim newTime As Date

' Get Pacific Standard Time zone
Dim pstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")

' List possible ambiguous times for 63-minute interval, from 12:59 AM to 2: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 ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime))
Next

備註

模棱兩可的時間落在目前時區的時間範圍內。 這表示它可以是標準時間或調整規則應用程式所產生的時間。 一般而言,當時鐘設定為從日光節約時間回到標準時間時,模棱兩可的時間會產生模棱兩可的時間。 如需圖例,請參閱範例一節。

國際標準時間 (UTC) 沒有模棱兩可的時間;兩者都不支援日光節約時間的時區。 因此,這些時區沒有調整規則,而且對 方法的 IsAmbiguousTime 呼叫一律會傳回 false

對於觀察日光節約時間的時區,此方法的精確行為取決於 屬性與 TimeZoneInfo 物件之間的 Kind 關聯性,如下表所示。

TimeZoneInfo 物件類型 Kind 屬性值 行為
TimeZoneInfo.Local DateTimeKind.LocalDateTimeKind.Unspecified 判斷參數是否 dateTime 模棱兩可。
TimeZoneInfo.Local DateTimeKind.Utc dateTime轉換成當地時間,然後判斷該時間是否模棱兩可。
TimeZoneInfo.Utc DateTimeKind.UtcDateTimeKind.Unspecified 傳回 false
TimeZoneInfo.Utc DateTimeKind.Local 如果 dateTime 模棱兩可,假設它是標準時間、將它轉換成 UTC,並傳 false 回 。
任何其他時區。 DateTimeKind.LocalDateTimeKind.Utc dateTime轉換成指定時區的時間,然後判斷該時間是否模棱兩可。
任何其他時區。 DateTimeKind.Unspecified 判斷是否 dateTime 模棱兩可。

另請參閱

適用於

IsAmbiguousTime(DateTimeOffset)

來源:
TimeZoneInfo.cs
來源:
TimeZoneInfo.cs
來源:
TimeZoneInfo.cs

判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。

public:
 bool IsAmbiguousTime(DateTimeOffset dateTimeOffset);
public bool IsAmbiguousTime (DateTimeOffset dateTimeOffset);
member this.IsAmbiguousTime : DateTimeOffset -> bool
Public Function IsAmbiguousTime (dateTimeOffset As DateTimeOffset) As Boolean

參數

dateTimeOffset
DateTimeOffset

日期和時間。

傳回

如果目前時區中的 dateTimeOffset 參數模稜兩可則為 true,否則為 false

備註

模棱兩可的時間落在目前時區的時間範圍內。 這表示它可以是標準時間或從調整規則的套用所產生的時間。 一般而言,當時鐘設定為從日光節約時間回到標準時間時,模棱兩可的時間會產生模棱兩可的時間。 國際標準時間 (UTC) 沒有模棱兩可的時間;兩者都不支援日光節約時間的時區。

方法的精確行為取決於 參數的 屬性 dateTimeOffset 與目前時區之間的 Offset 關聯性。 如果屬性的值 Offset 是目前時區 UTC 的可能位移,則方法會判斷該日期和時間是否模棱兩可。 否則,它會轉換成 dateTimeOffset 目前時區中的時間,然後判斷該日期和時間是否模棱兩可。

適用於