Maison > Java > javaDidacticiel > Comment stocker et récupérer efficacement les horodatages dans la base de données en temps réel Firebase ?

Comment stocker et récupérer efficacement les horodatages dans la base de données en temps réel Firebase ?

Linda Hamilton
Libérer: 2024-12-14 01:42:11
original
182 Les gens l'ont consulté

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

Comment stocker la date/heure actuelle avec de nouvelles entrées de base de données en temps réel Firebase

Lors de l'ajout de nouvelles données à une base de données en temps réel Firebase via le panneau de configuration, les utilisateurs doivent souvent inclure la date et l'heure actuelles. Ces données peuvent être utiles pour suivre l'activité des utilisateurs, gérer les journaux ou trier et filtrer les entrées.

L'approche recommandée consiste à stocker la date et l'heure actuelles sous forme d'horodatage. Firebase propose une constante ServerValue.TIMESTAMP qui génère automatiquement un horodatage côté serveur lorsqu'elle est utilisée comme valeur enfant lors d'une opération d'écriture.

Pour inclure le TIMESTAMP dans vos données à l'aide de Java, utilisez le code suivant :

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

Pour récupérer le TIMESTAMP sous forme de Long en Java, utilisez le code suivant :

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

Dans votre modèle classe, le champ d'horodatage doit être représenté comme :

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

    public YourModelClass() {}

    // Public getters and setters for timestamp
}
Copier après la connexion

N'oubliez pas que lorsque vous utilisez ServerValue.TIMESTAMP, l'horodatage n'apparaît dans la base de données qu'une fois l'opération d'écriture terminée.

Une approche alternative utilisant Cloud Functions

Une autre approche pour obtenir l'horodatage actuel consiste à utiliser Cloud Functions pour Firebase. Cela peut être fait avec le code suivant :

exports.currentTime = functions.https.onRequest((req, res) => {
    res.send({"timestamp": new Date().getTime()})
});
Copier après la connexion

L'hébergement de cette fonction dans le cloud permet d'obtenir l'horodatage du serveur sans interaction de l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal