如何在用户的本地时间创建一个NSDate进行比较(Swift2)?

时间:2016-03-22 14:37:17

标签: swift2 nsdate ios9

我需要通过更改小时和分钟来创建日期,并将其与当前日期和时间进行比较。这是为了检查是否有可用的东西(想想日历事件)。所以我需要知道当前时间是否在开始和结束日期窗口之间。我如何创建所有3个日期,以便它基于用户的当地时间?它必须是当地时间的原因是如果他们改变他们的时区,比较仍然有效。我知道NSDate只是一个时间点,当你在调试器中查看新的NSDate时,它显示为UTC。我需要当地时间。创建这3个日期以进行比较最简单的方法是什么? (请注意,这些日期不需要在UI上显示,它只是用于检查事件是否可用)

1 个答案:

答案 0 :(得分:0)

NSDate()会为您提供当前时间和日期。如果你想实现你的目标,你需要创建两个代表开始窗口的开始和结束的NSDate对象(让我们调用它们&#34;开始&#34;和#34;结束&#34;)然后运行:< / p>

var current = NSDate()
if current.laterDate(end) == end && current.earlierDate(start) == start { //checks that end is after current and that start is before current
      //date is between start and end
} else {
    //date is before start or after end
}