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
Libérer: 2024-12-23 12:47:19
original
447 Les gens l'ont consulté

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);
Copier après la connexion

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()})
});
Copier après la connexion

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";
    }
}
Copier après la connexion
  • 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!

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