Iphone 制定;“今天”;及;“昨天”;从NSDate开始?

Iphone 制定;“今天”;及;“昨天”;从NSDate开始?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我想向我的应用程序用户显示日期,如“今天”、“昨天”或格式化日期(即2011年5月27日)。有没有一种基于给定日期快速获取“今天”或“昨天”的方法?如果不是,我可以自己编写代码,我只是好奇我是否忽略了一些比手动计算剩余时间更简单的方法。检查类似的问题: 您从今天和昨天创建NSDate对象,然后将其描述的前10个字符与您不确定的NSDate进行比较。查看类似问题: 您从今天和昨天创建NSDate对象,然后将其说明的前10个字符与您不确定的NSDate进行比较。来自: 从: 如果您只想向用户显示日期

我想向我的应用程序用户显示日期,如“今天”、“昨天”或格式化日期(即2011年5月27日)。有没有一种基于给定日期快速获取“今天”或“昨天”的方法?如果不是,我可以自己编写代码,我只是好奇我是否忽略了一些比手动计算剩余时间更简单的方法。

检查类似的问题:


您从今天和昨天创建
NSDate
对象,然后将其
描述的前10个字符与您不确定的
NSDate
进行比较。

查看类似问题:

您从今天和昨天创建
NSDate
对象,然后将其
说明的前10个字符与您不确定的
NSDate
进行比较。

来自:

从:


如果您只想向用户显示日期,则
NSDateFormatter
中有一个选项可供选择。
-(void)setDoesRelativeDateFormatting:(BOOL)b


查看文档了解更多信息。

如果您只想向用户显示日期,则在
NSDateFormatter
中有一个选项可供选择。
-(void)setDoesRelativeDateFormatting:(BOOL)b


有关更多信息,请参阅文档。

谢谢,我确实看到了上面的内容,但它只提供了从现在起一整天的NSDate偏移量。它不会与任意引用日期进行比较。@fuzzygoat:您可以通过将前10个字符与您拥有的日期进行比较来删除小时分秒。谢谢,我确实看到了上面的内容,但无论从现在起,它只会将NSDate偏移一整天。它不会与任意的参考日期进行比较。@fuzzygoat:您可以通过取前10个字符并将其与您拥有的日期进行比较来删除时分秒。这是一种有趣的方法,而不是我想到的方法,我将有一个剧本,看看它在我完成后的效果如何。非常感谢。这很好,但是setDoesRelativeDateFormatting:(正如Evgeny所指出的)通过使用NSDateFormatter看起来确实简单了一点。这是一个有趣的方法,不是我想到的方法,我会玩一玩,看看我做了什么后它是如何工作的。非常感谢。这很好,但是setDoesRelativeDateFormatting:(正如Evgeny所指出的)通过使用NSDateFormatter似乎更简单一些。我使用的是NSDateFormatter,我在文档中没有发现这一点,我必须说它几乎完全符合我想要实现的目标。很好的发现,非常感谢。我正在使用NSDateFormatter,我在文档中没有发现这一点,我必须说它几乎完全符合我想要实现的目标。很好的发现,非常感谢。
NSTimeInterval secondsPerDay = 24 * 60 * 60;
NSDate *today = [[NSDate alloc] init];
NSDate *tomorrow, *yesterday;

tomorrow = [today dateByAddingTimeInterval: secondsPerDay];
yesterday = [today dateByAddingTimeInterval: -secondsPerDay];
[today release];