ios / xcode / objective-c:以友好格式显示未来日期

时间:2015-09-08 21:42:32

标签: ios date future user-friendly

我找到了一些很棒的solutions用于以用户友好的格式显示过去的日期,例如刚才,几小时前,昨天,上周等。

但是,我无法为将来的活动/约会找到类似的友好格式。

我正在寻找像今天下午2点这样的东西。明天,周三下午3:45。下周二,9月12日下午2点。或者更远的日期,2015年11月12日星期五下午2点。

任何人都可以推荐一个这样做的类别,一个教程或以解决方法的形式提供指导吗?

提前感谢任何建议。

1 个答案:

答案 0 :(得分:1)

最佳用户友好日期:

解决方案是一样的。您可以在link you mentioned上构建解决方案。

[[NSDate date] timeIntervalSinceDate:date];是两个日期之间的简单减法,如果日期是过去或未来,则返回正面或负面双倍。

在验证日期是过去还是未来之后,一些数学将为您提供良好的用户友好字符串。例如,您可以根据参数更改格式。

简单易用:

如果您想要的内容总是像“11月15日星期三下午02:00”,则可以使用NSDateFormater

对于你的情况:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE, MMMM dd 'at' HH:mma"];

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];

NSString *formattedDateString = [dateFormatter stringFromDate:date];

使用此方法,日期字符串将始终采用相同的格式。

希望这会有所帮助。