我找到了一些很好的解决方案,可以以用户友好的格式显示过去的日期,例如刚刚、几个小时前、昨天、上周等。
但是,我一直无法为未来的活动/约会找到类似的友好格式。
我正在寻找类似今天下午 2 点的内容。明天,星期三下午 3 点 45 分。下周二,9 月 12 日下午 2 点。或者更远的日期,2015 年 11 月 12 日星期五下午 2 点。
任何人都可以推荐一个这样做的类别,一个教程或以解决这个问题的方法的形式提供指导吗?
在此先感谢您的任何建议。
我找到了一些很好的解决方案,可以以用户友好的格式显示过去的日期,例如刚刚、几个小时前、昨天、上周等。
但是,我一直无法为未来的活动/约会找到类似的友好格式。
我正在寻找类似今天下午 2 点的内容。明天,星期三下午 3 点 45 分。下周二,9 月 12 日下午 2 点。或者更远的日期,2015 年 11 月 12 日星期五下午 2 点。
任何人都可以推荐一个这样做的类别,一个教程或以解决这个问题的方法的形式提供指导吗?
在此先感谢您的任何建议。
解决方法是一样的。您可以在您提到的链接上构建您的解决方案。
[[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];
使用此方法,日期字符串将始终采用相同的格式。
希望这会有所帮助。