我正在尝试在 Firestore 中传递今天的日期Timestamp
在我的应用程序中。我得到这样的今天的日期
formatter.dateFormat = "MMMM d, yyyy"
let result = formatter.string(from: date)
print("Today date is \(result)")
let startDate = result + " " + "07:00:00"
let endDate = result + " " + "23:00:00"
我必须传递今天的日期,从早上 7 点到下午 23:00,我将这些日期存储在startDate
and endDate
。现在我正在传递这些时间Firestore
像这样查询:-
self.db.collection("Locations").whereField("userid", isEqualTo: "\(selectedUserID)").whereField("createddatetime", isGreaterThanOrEqualTo: "\(startDate)").whereField("createddatetime", isLessThanOrEqualTo: "\(endDate)").getDocuments()
但我的快照中没有得到任何结果。我怎样才能做到这一点。请帮忙?
你需要:
1) 转换字符串->日期
2) 转换日期->时间戳(FIRTimestamp)
formatter.dateFormat = "MMMM d, yyyy HH:mm:ss"
let startTime: Date = formatter.date(from: startDate) ?? Date(timeIntervalSince1970: 0)
let startTimestamp: Timestamp = Timestamp(date: startTime)
let endTime: Date = formatter.date(from: endDate) ?? Date()
let endTimestamp: Timestamp = Timestamp(date: endTime)
3)将功能更改为:
self.db.collection("Locations")
.whereField("userid", isEqualTo: "\(selectedUserID)")
.whereField("createddatetime", isGreaterThanOrEqualTo: startTimestamp)
.whereField("createddatetime", isLessThanOrEqualTo: endTimestamp)
.getDocuments() { (snapshot, error) in
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)