iphone - 在 NSArray 中查找具有给定时间(例如晚上 8 点)之后的某个时间的 NSDate?

标签 iphone objective-c nsarray nsdate nsdatecomponents

Objective-C 中是否有一种快速方法可以识别 NSArray 中的 NSDate,该 NSDate 在给定时间之后(例如晚上 8 点)?

除了手动遍历数组中的每个 NSDate 然后使用 NSDateComponents 来分割小时/分钟/秒之外,我看不到任何东西......甚至不确定是否有一种简单的方法来获取时间一个代表 24 小时一小部分的 NSDate,因为这可能会有所帮助。 (例如,在这种情况下,下午 6 点将是 18/24 = 0.75)

最佳答案

无需中断NSDateComponents

NSTimeInterval interval = [date1 timeIntervalSinceDate:date2];
if (interval > 0) {
    // date2 is earlier
} else {
    // date1 is earlier
}

现在您可以用 date2 表示您的目标时间(例如,晚上 8 点),并将数组中的所有日期与该时间进行比较。

关于iphone - 在 NSArray 中查找具有给定时间(例如晚上 8 点)之后的某个时间的 NSDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367502/

相关文章:

ios - 在 Xcode 6 w/swift 中使用自动布局自动调整按钮大小

objective-c - 将 NSString 转换为 int HEX

ios - 连接表单文本字段的下一个字段链

ios - 从 FilePath 的 NSArray 获取图像?

cocoa - 按数组中包含的 int 对 NSArray 进行排序

ios - 在启动之间保存数据的权威方法。

iphone - 对基于文档的 iPhone 应用程序指南感到困惑

objective-c - NSString 从头开始​​获取 100 个字符

objective-c - UIAlertView 仅在关闭后才显示

ios - 从 Iphone 设备运行时出现 Soundcloud Apple Mach-O Linker 错误