gpt4 book ai didi

ios - 从 firestore 查询数据时,如何将保存的字符串格式的日期与当前日期进行比较?

转载 作者:行者123 更新时间:2023-11-28 07:22:28 28 4
gpt4 key购买 nike

Firestore Db

我在特定集合中创建的每个文档中都有一个日期字段。此日期字段的数据保存为字符串。执行查询时,我想通过 firebase 中的 whereField() 方法属性将日期字段与当前日期进行比较,以便获得与此比较一致的文档。

我已经尝试了下面的一些代码,但它并没有完全满足要求。日期字段中的数据以格式保存 eventDate: "Fri Aug 30 2019"

   let db = Firestore.firestore()

let date = Date.init()

let formatter = DateFormatter()

formatter.dateStyle = .long
formatter.timeStyle = .none
formatter.locale = Locale(identifier: "en_US")
formatter.dateFormat = "eee MMM dd yyyy"

let currDate = formatter.string(from: date)

db.collection("Events").whereField("eventDate", isGreaterThanOrEqualTo: currDate).getDocuments() {
// completion code not necessary for this question

上面的代码仅返回发生在 2019 年 8 月 27 日星期二2019 年 8 月 28 日星期三 的事件,我们知道还有更多事件要发生的日期。

最佳答案

使用日历组件应该是更好的方法,像这样?

let db = Firestore.firestore()

let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day], from: Date())
let currDate = calendar.date(from: components)!

db.collection("Events").whereField("eventDate", isGreaterThanOrEqualTo: currDate).getDocuments()

关于ios - 从 firestore 查询数据时,如何将保存的字符串格式的日期与当前日期进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57671137/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com