我正在使用FMDB数据库保存我的记录,在我的数据库中我有这些东西的名称,编号,日期,标题等。
我希望按日期获取记录,就像从2月2日到2月4日的所有记录,这是我的代码我试图这样做但是当我比较日期时我也得到时间因此比较失败
有没有时间可以将字符串转换为日期?
输出: - :2019-12-01 19:00:00 +0000
我想转换成格式2019-12-01(yyyy-dd-mm)
let start = lblTo.text ?? ""
let end = lblFrom.text ?? ""
let dateFormat = "dd-MM-yyyy"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = dateFormat
dateFormatter.timeStyle = .short
dateFormatter.dateStyle = .short
dateFormatter.timeZone = TimeZone.current
let startDate = dateFormatter.date(from: start)
let endDate = dateFormatter.date(from: end)
我试图从数据库中过滤记录
for data in readingDataSouce{
let readingDate = stringToDate(date:data.date ?? "")
if readingDate > startDate! && readingDate < endDate!
{
}
}
func stringToDate(date:String) -> Date{
let start = date
let dateFormat = "dd-MM-yyyy"
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = dateFormat
let startDate = dateFormatter.date(from: start)
return startDate ?? Date()
}
您正在使用timeStyle = .short,将其更改为.none
let end = lblFrom.text ?? ""
let dateFormat = "yyyy-dd-MM"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = dateFormat
dateFormatter.timeStyle = .none
dateFormatter.dateStyle = .short
let correctDate = dateFormatter.string(from: end)