我想以下列方式显示日期:
- 如果是今天,则仅显示时间。
- 如果是过去一周,则显示“昨天”、“星期天”、“星期一”等。
- 如果超过一周前,则显示实际日期。
我正在尝试获得类似于日期在 iPhone SMS 应用程序中的显示方式。
我想以下列方式显示日期:
我正在尝试获得类似于日期在 iPhone SMS 应用程序中的显示方式。
为什么不使用的方法
setDoesRelativeDateFormatting:
设置为YES。现在格式化程序将根据应格式化的日期返回“今天”或“昨天”或“明天”。如果找不到相对格式,则使用格式化程序将用于格式。
在询问您甚至没有尝试过的事情之前,请先阅读NSDateFormatter
(此处的链接)和NSDate
(此处的链接)类文档。
该类NSDateFormatter
可用于将日期正确格式化为您选择的日期的不同组件的固定参数。要显示当天的全名,请在格式中使用“cccc”。例如
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setFormat:@"cccc dd-MM, HH:mm:ss"];
为了比较日期,有内置的方法可以比较NSDate
对象,例如isEqualToDate
,laterDate:
等timeIntervalSinceNow
。通过 Apple 文档链接