Maison > Java > javaDidacticiel > Comment puis-je ajouter automatiquement des horodatages aux entrées de la base de données en temps réel Firebase ?

Comment puis-je ajouter automatiquement des horodatages aux entrées de la base de données en temps réel Firebase ?

Susan Sarandon
Libérer: 2024-12-27 13:51:14
original
671 Les gens l'ont consulté

How Can I Automatically Add Timestamps to Firebase Realtime Database Entries?

Suivi automatique des horodatages dans les ajouts à la base de données en temps réel Firebase

Dans la base de données en temps réel Firebase, le maintien d'horodatages précis est crucial pour le classement, le suivi des modifications et la garantie de l'intégrité des données. Lorsque vous ajoutez de nouvelles valeurs via le panneau de contrôle de la base de données, vous souhaiterez peut-être capturer automatiquement la date et l'heure actuelles. Cet article explique comment y parvenir en utilisant ServerValue.TIMESTAMP.

Solution utilisant ServerValue.TIMESTAMP

La meilleure pratique consiste à enregistrer votre horodatage en tant que type de données TIMESTAMP à l'aide de ServerValue.TIMESTAMP. Cela garantit que la base de données définit automatiquement l'horodatage lorsque la nouvelle valeur est ajoutée.

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

Lors de la récupération de l'horodatage, il sera stocké en tant que valeur longue. Pour obtenir la date et l'heure dans un format lisible par l'homme, vous pouvez utiliser la méthode suivante :

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

Modifier : Pour stocker correctement l'horodatage dans une classe de modèle, vous pouvez définir un champ de type Map et utilisez l'annotation @ServerTimestamp.

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

    @ServerTimestamp
    public void setTimestamp(Map<String, String> timeStamp) {this.timestamp= timestamp;}
    public Map<String, String> getTimestamp() {return timestamp;}
}
Copier après la connexion

Approche alternative utilisant les fonctions Cloud

Une autre approche consiste à créer une fonction Cloud dans Firebase qui renvoie l'horodatage actuel du serveur. Vous pouvez ensuite récupérer cet horodatage à partir de votre code frontend.

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

Cette méthode fournit un moyen cohérent et fiable 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