ホームページ >Java >&#&チュートリアル >Firebase Realtime Database でタイムスタンプを効率的に保存および取得するにはどうすればよいですか?

Firebase Realtime Database でタイムスタンプを効率的に保存および取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-14 01:42:11119ブラウズ

How to Efficiently Store and Retrieve Timestamps in Firebase Realtime Database?

新しい Firebase Realtime Database エントリで現在の日付/時刻を保存する方法

コントロール パネルを介して Firebase Realtime Database に新しいデータを追加する場合、多くの場合、ユーザーは以下を含める必要があります。現在の日付と時刻。このデータは、ユーザー アクティビティの追跡、ログの管理、エントリの並べ替えとフィルター処理に役立ちます。

推奨される方法は、現在の日付と時刻を TIMESTAMP として保存することです。 Firebase は、書き込み操作中に子値として使用されるときにサーバー側のタイムスタンプを自動的に生成する ServerValue.TIMESTAMP 定数を提供します。

Java を使用してデータに TIMESTAMP を含めるには、次のコードを使用します。

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Map<String, Object> map = new HashMap<>();
map.put("timestamp", ServerValue.TIMESTAMP);
ref.child("yourNode").updateChildren(map);

Java で TIMESTAMP を Long として取得するには、次のコマンドを使用します。コード:

public static String getTimeDate(long timestamp) {
    try {
        DateFormat dateFormat = getDateTimeInstance();
        Date netDate = new Date(timestamp);
        return dateFormat.format(netDate);
    } catch (Exception e) {
        return "date";
    }
}

モデル クラスでは、タイムスタンプ フィールドは次のように表す必要があります:

public class YourModelClass {
    private Map<String, String> timestamp;

    public YourModelClass() {}

    // Public getters and setters for timestamp
}

ServerValue.TIMESTAMP を使用する場合、タイムスタンプはデータベースに表示されるのは、書き込み操作が完了しました。

Cloud Functions を使用した代替アプローチ

別のアプローチ現在のタイムスタンプを取得するには、Cloud Functions for Firebase を使用します。これは、次のコードで実行できます:

exports.currentTime = functions.https.onRequest((req, res) => {
    res.send({"timestamp": new Date().getTime()})
});

この関数をクラウドでホストすると、ユーザーの操作なしでサーバーのタイムスタンプを取得できます。

以上がFirebase Realtime Database でタイムスタンプを効率的に保存および取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。