如何使用firebase java admin sdk编写查询以获取Firestore当前服务器时间

如何使用firebase java admin sdk编写查询以获取Firestore当前服务器时间,firebase,google-cloud-firestore,firebase-admin,Firebase,Google Cloud Firestore,Firebase Admin,我想写一个查询来获取过去24小时内保存的文档列表。创建文档时,我使用FieldValue.serverTimestamp()添加“上次更新”值。现在我的问题是: Date pastDay = (getFireStoreServerTime) - (24hours) Query query = collectionRef.orderBy("lastUpdated", Query.Direction.DESCENDING).where("last updated" > pastDay); 但

我想写一个查询来获取过去24小时内保存的文档列表。创建文档时,我使用
FieldValue.serverTimestamp()
添加“上次更新”值。现在我的问题是:

Date pastDay = (getFireStoreServerTime) - (24hours)
Query query = collectionRef.orderBy("lastUpdated", Query.Direction.DESCENDING).where("last updated" > pastDay);

但是,我无法在java admin SDK中找到API来获取服务器时间。Firebase Admin SDK for Cloud FireStore是否支持此功能?

FireStore没有只公开服务器时间的API。然而,服务器SDK确实公开了一个“读取时间”,您可以(ab)使用它来获取后端的当前时间

DocumentSnapshot doc = firestore.doc("coll/nonexistingdocument").get();
Instant instant = doc.getReadTime();
Date pastDay = (instant - 24hours);
您可以使用
QuerySnapshot
执行相同的操作,但这是一个更昂贵的操作