获取NSDate将屏幕更改为黑色(夜间观看)Swift

时间:2015-12-19 02:35:36

标签: swift nsdate nsuserdefaults

我正在尝试使用NSDate获取时间,以便在晚上将应用程序的背景更改为黑色。我该怎么办呢?我需要查看此人所处的时区(如果可能),或者我可以询问此人并将其存储在NSUserDefaults中。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

"暗"是一个相对的术语。根据用户的位置和一年中的时间,日长可能会有很大差异。要获得精确的黑暗​​定义,您需要从气象服务中获取当天的日出和日落时间。

但如果你想要一些简单的东西,比如7PM - 6AM是黑暗的,试试这个:

let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
let dateComponents = calendar.componentsInTimeZone(NSTimeZone.defaultTimeZone(), fromDate: NSDate())

let isDark = dateComponents.hour >= 19 || dateComponents.hour <= 6