【发布时间】:2018-06-27 21:33:38
【问题描述】:
我想在 Swift 4 中从 00:00 -> 23:59 升序对时间数组进行排序。我的应用程序没有对日历的任何引用,因为它用于使用外部硬件时钟注册闹钟时间作为一个非常基本的警报,它只是从 00:00 -> 23:59 开始,然后结束。
不确定这是否是最好的方法,但我已经尝试了基于Sort Objects in Array by date 的以下代码 但我不能让它只用时间。 (date) 对象未能初始化。它不喜欢初始示例中的 (dateStyle) 和 (timeStyle) 更改。代码如下:
let testArray = ["23:59", "01:23", "18:23", "04:42", "00:00"]
var convertedArray: [Date] = []
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
dateFormatter.dateStyle = .none
dateFormatter.timeStyle = .short
for dat in testArray {
let date = dateFormatter.date(from: dat)
if let date = date {
convertedArray.append(date)
}
}
var ready = convertedArray.sorted(by: { $0.compare($1) == .orderedAscending })
print(ready)
打印功能在工作时应按以下顺序打印排序后的数组:
[00:00, 01:23, 04:42, 18:23, 23:59]
有人有什么想法吗?
【问题讨论】:
标签: swift