【问题标题】:How to correctly get the days for "posted X days ago" for a blog post date [duplicate]如何正确获取博客发布日期的“X 天前发布”的日期 [重复]
【发布时间】: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: 大概tempDateNSDate

标签: ios objective-c nsdate nstimeinterval


【解决方案1】:

您可以使用 NSCalendar 和 NSDateComponent 来获取天数(您甚至不需要转换您的 tempDate)...查看这里给出的好答案Number of days between two NSDates

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多