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
Linda Hamiltonoriginal
2024-12-14 01:42:11123parcourir

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);

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";
    }
}

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
}

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()})
});

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!

Déclaration:
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