使用to和from日期过滤数组

问题描述 投票:0回答:1

我正在使用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()
    }
swift database date-comparison
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.