【发布时间】:2019-02-14 08:54:55
【问题描述】:
我正在使用 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 = .none
-
是的,我做了,然后它返回相同的 2019-02-13 19:00:00 +0000
-
你能显示输出吗?
-
替换我下面代码的最后一行,让 correctDate = dateFormatter.string(from: end)
-
它以这种格式返回 15/02/2019 及其字符串我如何使用字符串过滤数组?
标签: swift database date-comparison