TimeZoneInfo.IsAmbiguousTime 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定特定时区中的特定日期和时间是否不明确以及是否可以映射至两个或多个协调世界时 (UTC) 时间。
重载
IsAmbiguousTime(DateTime) |
确定特定时区中的特定日期和时间是否不明确以及是否可以映射至两个或多个协调世界时 (UTC) 时间。 |
IsAmbiguousTime(DateTimeOffset) |
确定特定时区中的特定日期和时间是否不明确以及是否可以映射至两个或多个协调世界时 (UTC) 时间。 |
IsAmbiguousTime(DateTime)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- 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
。
例外
示例
在太平洋时区,夏令时结束于 2007 年 11 月 4 日凌晨 2:00。 以下示例以 1 分钟间隔将时间从 2007 年 11 月 4 日凌晨 12:59 到 2007 年 11 月 4 日凌晨 2:01,传递给 IsAmbiguousTime(DateTime) 表示太平洋时区的 TimeZoneInfo 对象的 方法。 控制台输出指示从 2007 年 11 月 4 日凌晨 1:00 到 2007 年 11 月 4 日凌晨 1:59 的所有时间都模棱两可。
// 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)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- 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) 没有歧义的时间:不支持夏令时的时区也不行。
方法的精确行为取决于 参数的 OffsetdateTimeOffset
属性与当前时区之间的关系。 如果 属性的值 Offset 是当前时区的 UTC 的可能偏移量,则 方法将确定该日期和时间是否不明确。 否则,它会转换为 dateTimeOffset
当前时区中的时间,然后确定该日期和时间是否不明确。