TimeZoneInfo.IsAmbiguousTime 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。
多載
IsAmbiguousTime(DateTime) |
判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。 |
IsAmbiguousTime(DateTimeOffset) |
判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (UTC) 時間。 |
IsAmbiguousTime(DateTime)
判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (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
。
例外狀況
範例
在太平洋時區中,日光節約時間會在 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.Local 或 DateTimeKind.Unspecified | 判斷參數是否 dateTime 模棱兩可。 |
TimeZoneInfo.Local | DateTimeKind.Utc |
dateTime 轉換成當地時間,然後判斷該時間是否模棱兩可。 |
TimeZoneInfo.Utc | DateTimeKind.Utc 或 DateTimeKind.Unspecified | 傳回 false 。 |
TimeZoneInfo.Utc | DateTimeKind.Local | 如果 dateTime 模棱兩可,假設它是標準時間、將它轉換成 UTC,並傳 false 回 。 |
任何其他時區。 | DateTimeKind.Local 或 DateTimeKind.Utc |
dateTime 轉換成指定時區的時間,然後判斷該時間是否模棱兩可。 |
任何其他時區。 | DateTimeKind.Unspecified | 判斷是否 dateTime 模棱兩可。 |
另請參閱
適用於
IsAmbiguousTime(DateTimeOffset)
判斷特定時區中的特定日期和時間是否模稜兩可,以及是否可對應到兩個以上的國際標準時間 (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
目前時區中的時間,然後判斷該日期和時間是否模棱兩可。