Is there a daylight savings check in Swift?

爷,独闯天下 提交于 2019-12-06 07:30:32

问题


I need to check to see if the current date is during daylight savings time. In pseudocode that would be like this:

let date = NSDate()

if date.isDaylightSavingsTime {

    print("Success")

}

I haven't been able to find the solution to this anywhere on the internet.


回答1:


An NSDate alone represents an absolute point in time. To decide if a date is during daylight savings time or not it needs to be interpreted in the context of a time zone.

Therefore you'll find that method in the NSTimeZone class and not in the NSDate class. Example:

let date = NSDate()

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

}

Update for Swift 3/4:

let date = Date()

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


来源:https://stackoverflow.com/questions/34533273/is-there-a-daylight-savings-check-in-swift

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!