【发布时间】:2016-03-24 16:11:44
【问题描述】:
我试图在 .Day 之前比较两个 NSDate(都在 gmt 时区):
var order = NSCalendar.currentCalendar().compareDate(event.startDate!, toDate: cell.date!,
toUnitGranularity: .Day)
if (order == .OrderedSame) {
print(String(event.startDate!) + " == " + String(cell.date!))
cell.events.append(event)
break
}
当使用 2016-03-08 21:43:53 +0000 和 2016-03-09 00:00:00 +0000 时,它说它们的顺序相同,但它们不是,日子不同。该函数输出:
2016-03-08 21:43:53 +0000 == 2016-03-09 00:00:00 +0000
有人可以帮帮我吗?
【问题讨论】:
-
相对于您日历的时区,结果可能是正确的。因此,打印出您日历的时区或分配一个日历并设置您希望结果“正确”的时区。
-
你认为他们在不同的日子。但是 NSDate 打印 UTC,它们可能在 UTC 中的不同日期,但在您的时区,它们在同一日期。