为什么我对两个日期的比较并没有起到应有的作用?

时间:2015-04-27 04:31:11

标签: ios swift nscalendar

我有两个日期(dateNSDate()),我想根据他们的日期进行比较。当我执行以下操作时:

println(NSDate())
println(date)
println(NSCalendar.currentCalendar().compareDate(date, toDate: NSDate(), toUnitGranularity: .DayCalendarUnit) == .OrderedSame)

我在输出中得到了这个:

2015-04-27 04:16:49 +0000
2015-04-26 23:57:35 +0000
true

很清楚(至少在输出中)日期不同,但compareDate方法表明存在相同的情况。

有人可以解释为什么请你?

1 个答案:

答案 0 :(得分:3)

当您输出日期时,请不要使用简单的println,它会为您提供伦敦的日期/时间。相反,这样做:

println(date.descriptionWithLocale(NSLocale.currentLocale()))

这将使您更清楚地了解涉及的日期时间,因为它将与您所在的位置相对应。

如果你对日期这样做,你会发现它们实际上是在同一天内。