【发布时间】:2012-09-01 23:10:09
【问题描述】:
我计算两个日期之间的天数:
NSDateComponents *datesDiff = [calendar components: NSDayCalendarUnit
fromDate: someDate
toDate: currentDate
options: 0];
但是这种方法有一个缺点 - 它没有考虑时区。 因此,例如,如果我在 +2GMT 并且当地时间是凌晨 1:00,则当前日期是昨天。
如何比较指定时区的日期(没有“黑客”)?
PS:通过计算时差来防止答案,我需要实际天数的差异:
-
yesterday 23:00与today 1:00-1 day -
yesterday 1:00与today 23:00-1 day today 1:00与today 23:00-0 days(所有这些都在当前时区)
【问题讨论】:
-
为什么不将两者都转换为纪元,然后计算出它已经过了多少天?
-
我的想法是,如果您确定每个日期自纪元以来的秒数,然后找到两者之间的差异..您可以通过除以秒数来找到天数天(86,400)。但是,可能有更好的方法来做到这一点 - 你读过documentation吗?
-
我知道比较秒。但是这种方法给出了错误的结果 - 请看我问题末尾的示例。