【发布时间】:2014-06-12 13:51:27
【问题描述】:
所以我想知道一篇博文发布前的天数。最终结果将类似于“X 天前发布”。
花了一些时间解决这个问题后,我通过获取 NSTimeInterval、除以得到天数然后四舍五入来解决这个问题。虽然我得到了我想要的输出,但我觉得我做错了,或者有更直接的方法。
tempDate 是博客发布时的NSDate 对象。
NSTimeInterval timeSince = [tempDate timeIntervalSinceNow];
timeSince = timeSince/60/60/24*-1; // seconds to days
int daysSince = lroundf(timeSince);
【问题讨论】:
-
是什么让你觉得自己做错了?从设计的角度来看,了解这一点非常重要。
-
您可以将其重新排列为
int daysSince = lroundf([tempDate timeIntervalSinceNow] / -86400);,但基本上是一样的。我认为没有比这更简单的了。 -
我不应该使用 NSDate 什么的吗? (我是初学者,可能就是这样。。)
-
永远不要进行假设每天 86400 秒的日期计算。在处理夏令时和其他类似问题时这是错误的。
-
@espitia: 大概
tempDate是NSDate?
标签: ios objective-c nsdate nstimeinterval