一尘不染

Swift中有夏令时支票吗?

swift

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

let date = NSDate()

if date.isDaylightSavingsTime {

    print("Success")

}

我无法在互联网上的任何地方找到解决方案。


阅读 186

收藏
2020-07-07

共1个答案

一尘不染

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

因此,您将在类中而不是在类中找到该方法。例:NSTimeZone``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 ... 🎶")
}
2020-07-07