我有这样迅速器阵列由日期
[
{
"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