Maison >Java >javaDidacticiel >Comment implémenter et gérer les horodatages dans la base de données en temps réel Firebase ?

Comment implémenter et gérer les horodatages dans la base de données en temps réel Firebase ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-23 12:47:19448parcourir

How to Implement and Manage Timestamps in Firebase Realtime Database?

Implémentation de la préservation de la date/heure actuelle dans la base de données en temps réel Firebase

Lors de l'ajout de nouvelles valeurs à la base de données en temps réel Firebase, il est souvent souhaitable d'inclure le date et heure actuelles sous forme de champ. Cela permet un horodatage automatique des entrées, fournissant des informations précieuses à diverses fins.

Pour y parvenir, Firebase propose deux approches recommandées :

1. L'utilisation de ServerValue.TIMESTAMP

L'utilisation de ServerValue.TIMESTAMP permet le stockage direct de l'horodatage actuel du serveur en tant que valeur spéciale. Lorsque cette valeur est définie lors d'une opération d'écriture, elle est automatiquement convertie en un Long représentant l'horodatage en millisecondes à cet instant. L'extrait de code correspondant est :

Map map = new HashMap();
map.put("timestamp", ServerValue.TIMESTAMP);
ref.child("yourNode").updateChildren(map);

2. Approche de la fonction Cloud

Alternativement, une fonction Cloud pour Firebase peut être créée pour récupérer l'horodatage du serveur et le stocker sous forme de champ. Cette méthode permet une plus grande flexibilité, car un formatage ou une manipulation d'horodatage personnalisé peut être effectué avant l'enregistrement. Un exemple d'extrait de code de fonction Cloud :

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

Considérations supplémentaires

  • Lors de la récupération de l'horodatage, il apparaît sous la forme d'un fichier Long. Pour le convertir dans un format adapté à l'affichage, une méthode comme la suivante peut être utilisée :
public static String getTimeDate(long timestamp){
    try{
        DateFormat dateFormat = getDateTimeInstance();
        Date netDate = (new Date(timestamp));
        return dateFormat.format(netDate);
    } catch(Exception e) {
        return "date";
    }
}
  • Pour les classes de modèles Java, les horodatages doivent être déclarés comme Map .
  • ServerValue.TIMESTAMP définit uniquement l'horodatage lors de l'écriture des données. Il ne se met pas à jour automatiquement lorsque la base de données est interrogée.

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