我有一个日期/时间的数组
。 (“2015 年 8 月 28 日,下午 2:38”)我正在尝试按从最新到最旧的日期/时间进行排序。最简单、最有效的方法是什么?
我正在考虑执行一个 for in
循环,并使用一个 if 语句
检查它是在当前项之前还是之后。但我确信有更好、更有效的方法。
如何将时间/日期数组从最旧到最新排序? (如果您需要我有的代码,我可以发布它。
最佳答案
Array
有一个内置方法 sort
,它允许您提供一个闭包来对其中的对象进行排序。假设您的变量名为 dates
,您可以对其中的 NSDate
进行排序,如下所示:
dates.sort { (a, b) -> Bool in
a.earlierDate(b) == a
}
sort
方法反复要求您比较两个日期,询问您要先订购哪个日期。您可以通过使用 NSDate
的 earlierDate
方法来查找最先出现的日期来完成此操作。
注意:如果您的数组实际上是由日期字符串而不是 NSDate
组成,我建议您首先将它们转换为 NSDate
。
关于ios - 如何在 Swift 中将时间/日期数组从最旧到最新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32280197/