我想用像这样的东西 serverTimestamp
方法,但要做到这一点,我需要包括firebase管理包,这将增加客户端包的大小。
import * as firebaseAdmin from "firebase-admin";
if (!firebaseAdmin.apps.length) {
firebaseAdmin.initializeApp();
}
const firebaseTimestamp = firebaseAdmin.firestore.FieldValue.serverTimestamp();
const initDate = firebaseAdmin.firestore.Timestamp.fromDate(
new Date(Date.UTC(0, 0, 0, 0, 0, 0))
);
是否存在从客户端访问firebase时间戳方法的轻量级解决方案?
我不确定我是否能放弃 servertimestamp
和 new Date()
因为它与当前时区有关。我想将时间存储在firestore中(从客户端),它与任何时区都不相关,我应该能够在以后根据该日期参数查询firestore。
裁判:https://firebase.google.com/docs/reference/node/firebase.firestore.timestamp
1条答案
按热度按时间wnvonmuf1#
您不能在客户端导入firebase admin sdk。它需要服务帐户才能运行,并且具有管理员权限,即不遵守任何安全规则,并且具有对firebase项目的完全访问权限。
您也可以使用客户端sdk添加时间戳:
您可以在文档中阅读更多关于此的信息
或者,您可以使用unix时间戳,而不会出现时区问题。
它是自unix纪元以来经过的秒数,减去闰秒;unix纪元是1970年1月1日的00:00:00 utc;
然后可以使用js date对象以任何格式对其进行格式化。