我正在使用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()
}
答案 0 :(得分:0)
您正在使用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)