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

ios/xcode/objective-c: Display future dates in friendly format

我发现一些很棒的 solutions 可以以用户友好的格式显示过去的日期,例如刚刚、几小时前、昨天、上周等。

但是,我一直无法为将来找到类似的友好格式 events/appointments。

我正在寻找类似“今天下午 2 点”之类的内容。明天,星期三 3:45PM。下周二,9 月 12 日下午 2 点。或更远的日期,2015 年 11 月 12 日星期五下午 2 点。

任何人都可以推荐一个执行此操作的类别、教程或以解决此问题的方法的形式提供指导吗?

提前感谢您的任何建议。

最佳用户友好日期:

解决方法是一样的。您可以在 link you mentioned.

上构建您的解决方案

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

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

简单易用:

如果你想要的总是像"Wednesday, November 15th at 02:00PM"这样的字符串,你可以使用NSDateFormater

针对您的情况:

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

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];

NSString *formattedDateString = [dateFormatter stringFromDate:date];

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

希望对您有所帮助。