簡體   English   中英

如何在不導入 firebase-admin 的情況下從客戶端在 Firestore 中存儲日期?

[英]How to store date in Firestore from client side without importing firebase-admin?

我想在客戶端使用類似serverTimestamp方法,但要做到這一點,我需要包含 firebase-admin 包,這會增加客戶端包的大小。

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 中存儲時間(從客戶端),這與任何時區無關,以后我應該能夠根據該 Date 參數查詢 Firestore。

參考: https : //firebase.google.com/docs/reference/node/firebase.firestore.Timestamp

不得在客戶端導入 Firebase Admin SDK。 它需要服務帳戶才能運行並具有管理員權限,即不遵守任何安全規則並且可以完全訪問您的 Firebase 項目。

您也可以使用客戶端 SDK 添加時間戳:

firebase.firestore.FieldValue.serverTimestamp()

您可以在文檔中閱讀有關此內容的更多信息

或者,您可以使用UNIX 時間戳,而不會遇到時區問題。

它是自 Unix 紀元以來經過的秒數,減去閏秒; Unix 紀元是 1970 年 1 月 1 日 00:00:00 UTC;

const timestamp = Date.now()

然后就可以使用 JS Date對象將其格式化為任何格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM