Maison >Java >javaDidacticiel >Comment stocker et récupérer efficacement les horodatages dans la 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 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!