我有一个数组,workoutData格式,串红枣EEEE,d MMM,YYYY所以日期将被保存为周二,2019年4月30日,星期四,2019年4月25日和周六,2019年4月27日等等。我已经试过使用下面的sorted(by :)方法,但这会按字母顺序排列日期。
let orderedArray = self.workoutData.sorted(by: { $0.compare($1) == .orderedDescending})
如何按日期降序排列此数组?我想将各个日期保留为字符串,并使用它们来填充tableView。
对不起,经验不足。谢谢
首先,您需要创建DateFormatter
某些内容Locale
并DateFormat
需要
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "EEEE, d MMM, yyyy"
然后,你可以排序你String
喜欢这个数组:创建Date
从String
使用DateFormatter
,然后你只是有点2倍Date
的值
let ordered = workoutData.sorted { string1, string2 in
guard let date1 = formatter.date(from: string1), let date2 = formatter.date(from: string2) else { return false }
return date1 < date2
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句