我有這樣迅速器陣列由日期
[
{
"place": "somewhere",
"dateStart": "2017-02-25+01:00",
"name": "name of the event",
"dateEnd": "2017-06-18+02:00",
"region": "region 1";
},
{
"place": "another place",
"dateStart": "2017-03-25+01:00",
"name": "another name",
"dateEnd": "2017-08-18+02:00",
"region": "region 2";
},
...
]
「dateStart」 和 「dateEnd」 的格式的JSON是字符串
i相swiftyjson解析它
let fileManager = FileManager.default
let documentsPath = try! fileManager.url(for:.documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let filePath = documentsPath.appendingPathComponent("events.json")
let url = filePath
let data = try? Data(contentsOf: url)
if data != nil {
stringJson = JSON(data: data!)
}
guard let json = stringJson.array else { return }
我可以用以下方式過濾該陣列:
let filteredArrayByRegion = json.filter{$0["region"].string == "region name"}
,但現在我想通過「dateEnd」過濾數組,並且我想要「dateEnd」大於「今天」的記錄。
據我所知,我必須在日期轉換字符串[「dateEnd」]。字符串,但我無法創建閉包來過濾數組。
任何人都可以把我放在正確的軌道上嗎?
預先感謝您
將字符串解析爲日期,並將它們與今天進行比較。 – Alexander
我嘗試:'code' let dateFormatter = DateFormatter() dateFormatter.dateFormat =「yyyy-MM-dd HH:mm」然後:'code' let eventiRegionaliPerData = json.filter {json in return dateFormatter.date(from: JSON [ 「eventoDataFine」。字符串!)! > = Date()} –
那麼問題是什麼? – Alexander