ios - 如何确定 NSDate 是否是今天?

标签 ios objective-c cocoa-touch nsdate nscalendar

如何检查一个NSDate是否属于今天?

我曾经使用 [aDate description] 中的前 10 个字符来检查它。 [[aDate description] substringToIndex:10] 返回类似 "YYYY-MM-DD" 的字符串,所以我将该字符串与 [[[NSDate日期] 描述] substringToIndex:10].

是否有更快速和/或更简洁的检查方式?

谢谢。

最佳答案

在 macOS 10.9+ 和 iOS 8+ 中,NSCalendar/Calendar 上有一个方法可以做到这一点!

- (BOOL)isDateInToday:(NSDate *)date 

所以你只需这样做

objective-C :

BOOL today = [[NSCalendar currentCalendar] isDateInToday:date];

swift 3:

let today = Calendar.current.isDateInToday(date)

关于ios - 如何确定 NSDate 是否是今天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2331129/

相关文章:

ios - 出现键盘时 MFMailComposeViewController didFinishWithResult 问题

objective-c - 仅带括号的语法是什么意思?

iphone - 将捏合手势从自定义 UIView 传递给父 UIScrollView

ios - viewWillDisappear 和 viewDidDissapear 之间的延迟

ios - 在多个文本字段上隐藏键盘

ios - 使用 AudioKit 的 AKHighPassFilter 过滤频率

objective-c - 何时使用 size_t 与 uint32_t?

objective-c - 独立混洗两个 NSMutableArray

ios - 更改 UIBarButtonItem 的字体

ios - 应用程序在 iOS 中将帐户 A 移动到 B 后可能丢失钥匙串(keychain)访问问题