为什么我对两个日期的比较不起作用?
Why my comparison of two dates doesn't work as it should?
我有两个日期(date
和 NSDate()
),我想根据他们的日期进行比较。当我执行以下操作时:
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
方法说天数相同。
有人可以解释一下为什么吗?
当你输出一个日期时,不要使用简单的 println
,它会给你伦敦的 date/time。相反,这样做:
println(date.descriptionWithLocale(NSLocale.currentLocale()))
这将使您更清楚地了解所涉及的日期时间,因为它与您所在的位置相对应。
如果你对你的日期这样做,你会发现它们实际上位于同一天。
我有两个日期(date
和 NSDate()
),我想根据他们的日期进行比较。当我执行以下操作时:
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
方法说天数相同。
有人可以解释一下为什么吗?
当你输出一个日期时,不要使用简单的 println
,它会给你伦敦的 date/time。相反,这样做:
println(date.descriptionWithLocale(NSLocale.currentLocale()))
这将使您更清楚地了解所涉及的日期时间,因为它与您所在的位置相对应。
如果你对你的日期这样做,你会发现它们实际上位于同一天。