java - 使用 LocalDate 从 Firestore 查询两个日期之间的数据
问题描述
我试图从 Firestore 获得两个选定日期之间的订单,但问题是我的查询总是返回 0 个快照/文档。
我正在使用LocalDate
类,因为我有一个 JavaFX 程序,并且日期选择器也返回 LocalDate。我知道 Firestore 正在使用它的时间戳,但我不确定如何正确地将 LocalDate 转换为 Firestore 时间戳。尝试使用 java.sql.Timestamp,但它不起作用。有什么建议么?
private static LocalDate dateFrom, dateTo;
//...//
Query query = null;
if (dateTo == null) {
dateTo = LocalDate.now();
Timestamp timeTo = Timestamp.valueOf(dateTo.atStartOfDay());
Timestamp timeFrom = Timestamp.valueOf(dateFrom.atStartOfDay());
query = orderRef.whereLessThanOrEqualTo("orderTimestamp", timeTo).whereGreaterThan("orderTimestamp", timeFrom);
} else if (dateTo.equals(dateFrom)) {
Timestamp timeFrom = Timestamp.valueOf(dateFrom.atStartOfDay());
query = orderRef.whereEqualTo("orderTimestamp", timeFrom);
} else {
Timestamp timeTo = Timestamp.valueOf(dateTo.atStartOfDay());
Timestamp timeFrom = Timestamp.valueOf(dateFrom.atStartOfDay());
query = orderRef.whereLessThanOrEqualTo("orderTimestamp", timeTo).whereGreaterThan("orderTimestamp", timeFrom);
}
解决方案
推荐阅读
- python - 最小化和重新排列列表
- java - 我无法使用 Java Mail API 发送电子邮件 电子邮件已发送但未收到或未显示在已发送的电子邮件中
- python - 如何在 ubuntu 18 中使用 python-rsvg?
- pandas - 如何将左连接与两个单独的名称合并
- sql - SQL 中的货币转换
- sql-server - 如何在sql查询中解析多个命名空间xml
- python - Python If 语句 - 如果 mysql 的行值为 0,则忽略行
- laravel - 如何更改 laravel 验证错误消息
- mosquitto - 消息未在 Eclipse Vorto Semantic Normalizer 中间件中映射
- django - Django:check_password 返回 false,即使密码保存为哈希