排序(字符串)日期数组

gcpreston

我有一个数组,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某些内容LocaleDateFormat需要

let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "EEEE, d MMM, yyyy"

然后,你可以排序你String喜欢这个数组:创建DateString使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章