0

我找到了一些很好的解决方案,可以以用户友好的格式显示过去的日期,例如刚刚、几个小时前、昨天、上周等。

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

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

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

在此先感谢您的任何建议。

4

1 回答 1

1

最佳用户友好日期:

解决方法是一样的。您可以在您提到的链接上构建您的解决方案。

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

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

简单的用户友好:

如果你想要的总是像“11 月 15 日星期三 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];

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

希望这会有所帮助。

于 2015-09-08T22:41:20.800 回答