Maison >Java >javaDidacticiel >Comment puis-je ajouter automatiquement des horodatages aux entrées de 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.
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);
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"; } }
Modifier : Pour stocker correctement l'horodatage dans une classe de modèle, vous pouvez définir un champ de type Map
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;} }
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()}) })
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!