我正试图按升序排序日期。我能够以"MM/dd/yyyy"格式解决日期问题,但如果更改为此格式的"dd mmm yyyy",则会出现错误。
这行得通
var dateArray = [Date]()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
dateArray.append(dateFormatter.date(from: "09/04/2016")!)
dateArray.append(dateFormatter.date(from: "01/01/2000")!)
dateArray.append(dateFormatter.date(from: "12/12/1903")!)
dateArray.append(dateFormatter.date(from: "04/23/2222")!)
dateArray.append(dateFormatter.date(from: "08/06/1957")!)
dateArray.append(dateFormatter.date(from: "11/11/1911")!)
dateArray.append(dateFormatter.date(from: "02/05/1961")!)
dateArray.sort { (date1, date2) -> Bool in
return date1.compare(date2) == ComparisonResult.orderedAscending
}
for date in dateArray {
print(dateFormatter.string(from: date))
}但这不是
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd mmm yyyy"
dateArray.append(dateFormatter.date(from:"01 Mar 2017")!)
dateArray.append(dateFormatter.date(from: "03 Feb 2017")!)
dateArray.append(dateFormatter.date(from: "15 Jan 1998")!)
dateArray.sort { (date1, date2) -> Bool in
return date1.compare(date2) == ComparisonResult.orderedAscending
}
for date in dateArray {
print(dateFormatter.string(from: date))
}发布于 2019-11-11 11:45:28
您需要MMM isntead of mmm
dateFormatter.dateFormat = "dd MMM yyyy"发布于 2019-11-11 11:46:31
使用"MMM“代替"mmm"
MMM是一个月的简称,m, mm是几分钟的
请查看本网站,https://nsdateformatter.com将有助于了解NSDateFormatter
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
dateArray.append(dateFormatter.date(from:"01 Mar 2017")!)
dateArray.append(dateFormatter.date(from: "03 Feb 2017")!)
dateArray.append(dateFormatter.date(from: "15 Jan 1998")!)
dateArray.sort { (date1, date2) -> Bool in
return date1.compare(date2) == ComparisonResult.orderedAscending
}
for date in dateArray {
print(dateFormatter.string(from: date))
}发布于 2019-11-11 11:46:43
只需将格式从小写"mmm“改为大写"MMM",如下所示:
var dateArray = [Date]()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
dateArray.append(dateFormatter.date(from:"01 Mar 2017")!)
dateArray.append(dateFormatter.date(from: "03 Feb 2017")!)
dateArray.append(dateFormatter.date(from: "15 Jan 1998")!)
dateArray.sort { (date1, date2) -> Bool in
return date1.compare(date2) == ComparisonResult.orderedAscending
}
for date in dateArray {
print(dateFormatter.string(from: date))
}https://stackoverflow.com/questions/58800659
复制相似问题