0

很久以前,我观看了一个 WWDC 会议视频,其中 Apple 引入了一个 API,该 API 可以以人类可读的本地化形式打印时间间隔。

与其打印某人发表评论的日期,不如打印一个本地化的字符串,例如“2 小时前”或“昨天”或“上周”。

我再也找不到该视频,也没有此 API 的参考或示例。我确信它是一个专门的 API,可以直接获取相对于当前日期的日期间隔的这种本地化字符串。

4

3 回答 3

3

我不记得视频(虽然有一些关于它的视频)但我认为你正在考虑的 API 是:

[NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterNoStyle]

我不确定这个 API 是否会进行相对日期格式设置,并且提到的框架Midhun MP更进一步

当然,您可以构建自己NSDateFormatter的属性并设置setDoesRelativeDateFormatting:YES属性以提供诸如“今天”或“明天”之类的文本。

示例代码在下面的类参考中setDoesRelativeDateFormatting:

请参阅NSDateFormatterClassReference

于 2013-01-21T14:51:55.787 回答
1

我不知道那个视频。

有一个开源库可用于执行此操作:SEHumanizedTimeDiff

还要检查 Three20 的NSDateAdditions

于 2013-01-21T14:14:57.093 回答
1

我认为您在 2012 年的第 244 次会议之后。

称为“国际化技巧和窍门”。

于 2013-01-21T14:55:24.467 回答