swift - Swift 有夏令时检查吗?

标签 swift nsdate dst

我需要检查当前日期是否在夏令时。在这样的伪代码中:

let date = NSDate()

if date.isDaylightSavingsTime {

    print("Success")

}

我无法在 Internet 上的任何地方找到解决此问题的方法。

最佳答案

NSDate 单独表示一个绝对时间点。 确定日期是否在夏令时 它需要在时区的上下文中进行解释。

因此你会发现that methodNSTimeZone 类中而不是 在 NSDate 类中。示例:

let date = NSDate()

let tz = NSTimeZone.localTimeZone()
if tz.isDaylightSavingTimeForDate(date) {

}

Swift 3/4 更新:

let date = Date()

let tz = TimeZone.current
if tz.isDaylightSavingTime(for: date) {
    print("Summertime, and the livin' is easy ... 🎶")
}

关于swift - Swift 有夏令时检查吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533273/

相关文章:

swift - 如何在 swift 中将整数添加到数组(使用 explicite int 索引)?

swift - 检测设备何时快速旋转

cocoa - NSDatePicker 正在更改系统时区的时间。我想停止更改日期选择器的日期值

ios - 错误的时间...从时间戳开始

C# DateTime 无法识别时区更改 (BST)

swift - 将协议(protocol)的关联类型与另一个关联类型进行约束

ios - 尝试使用 CALayers 制作水龙头滴水的动画

objective-c - 将 NSDate 类别与 Swift 3 日期类型一起使用

javascript - Google 脚本日期显示错误 "hours"

mysql - 检测日期是否在 MySql 中的夏令时