Ios 为什么我对两个日期的比较不';它不能正常工作吗?
我有两个日期(Ios 为什么我对两个日期的比较不';它不能正常工作吗?,ios,swift,nscalendar,Ios,Swift,Nscalendar,我有两个日期(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 +00
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
,它会告诉你伦敦的日期/时间。相反,要这样做:
println(date.descriptionWithLocale(NSLocale.currentLocale()))
这会让你对所涉及的日期和时间有一个更清晰的概念,因为它将与你所在的位置相对应
如果您对日期执行此操作,您会发现它们实际上位于同一天。当您输出日期时,不要使用简单的println
,它会为您提供伦敦的日期/时间。相反,要这样做:
println(date.descriptionWithLocale(NSLocale.currentLocale()))
这会让你对所涉及的日期和时间有一个更清晰的概念,因为它将与你所在的位置相对应
如果您对日期执行此操作,您会发现它们实际上位于同一天。当您输出日期时,不要使用简单的println
,它会为您提供伦敦的日期/时间。相反,要这样做:
println(date.descriptionWithLocale(NSLocale.currentLocale()))
这会让你对所涉及的日期和时间有一个更清晰的概念,因为它将与你所在的位置相对应
如果您对日期执行此操作,您会发现它们实际上位于同一天。当您输出日期时,不要使用简单的println
,它会为您提供伦敦的日期/时间。相反,要这样做:
println(date.descriptionWithLocale(NSLocale.currentLocale()))
这会让你对所涉及的日期和时间有一个更清晰的概念,因为它将与你所在的位置相对应
如果你对你的日期这样做,你会发现它们实际上位于同一天。它们在伦敦是不同的日子(+0000
),但它们在你所在的地方是同一天。它们在伦敦是不同的日子(+0000
),但在你所在的地方是同一天。它们在伦敦是不同的日子(+0000
)但是他们和你在同一天。他们在伦敦是不同的日子(+0000
),但他们和你在同一天。实际上+0是UTC-伦敦目前是+1@Paulw11你比我更迂腐!我想我会报答你早些时候发现我的:)实际上+0是UTC-伦敦目前是+1@Paulw11你比我更迂腐!我想我会报答你早些时候发现我的:)实际上+0是UTC-伦敦目前是+1@Paulw11你比我更迂腐!我想我会报答你早些时候发现我的:)实际上+0是UTC-伦敦目前是+1@Paulw11你比我更迂腐!我想我会报答你早点把我抓出来:)