Heim > Java > javaLernprogramm > Wie können Zeitstempel in der Firebase-Echtzeitdatenbank effizient gespeichert und abgerufen werden?

Wie können Zeitstempel in der Firebase-Echtzeitdatenbank effizient gespeichert und abgerufen werden?

Linda Hamilton
Freigeben: 2024-12-14 01:42:11
Original
186 Leute haben es durchsucht

How to Efficiently Store and Retrieve Timestamps in Firebase Realtime Database?

So speichern Sie das aktuelle Datum/die aktuelle Uhrzeit mit neuen Einträgen in der Firebase-Echtzeitdatenbank

Beim Hinzufügen neuer Daten zu einer Firebase-Echtzeitdatenbank über das Bedienfeld müssen Benutzer häufig Daten hinzufügen das aktuelle Datum und die aktuelle Uhrzeit. Diese Daten können nützlich sein, um Benutzeraktivitäten zu verfolgen, Protokolle zu verwalten oder Einträge zu sortieren und zu filtern.

Der empfohlene Ansatz besteht darin, das aktuelle Datum und die aktuelle Uhrzeit als ZEITSTEMPEL zu speichern. Firebase bietet eine ServerValue.TIMESTAMP-Konstante, die automatisch einen serverseitigen Zeitstempel generiert, wenn sie während eines Schreibvorgangs als untergeordneter Wert verwendet wird.

Um den TIMESTAMP mithilfe von Java in Ihre Daten einzuschließen, verwenden Sie den folgenden Code:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Map<String, Object> map = new HashMap<>();
map.put("timestamp", ServerValue.TIMESTAMP);
ref.child("yourNode").updateChildren(map);
Nach dem Login kopieren

Um den TIMESTAMP als Long in Java abzurufen, verwenden Sie den folgenden Code:

public static String getTimeDate(long timestamp) {
    try {
        DateFormat dateFormat = getDateTimeInstance();
        Date netDate = new Date(timestamp);
        return dateFormat.format(netDate);
    } catch (Exception e) {
        return "date";
    }
}
Nach dem Login kopieren

In Ihrem Modell Klasse sollte das Zeitstempelfeld wie folgt dargestellt werden:

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

    public YourModelClass() {}

    // Public getters and setters for timestamp
}
Nach dem Login kopieren

Denken Sie daran, dass bei Verwendung von ServerValue.TIMESTAMP der Zeitstempel erst in der Datenbank erscheint, nachdem der Schreibvorgang abgeschlossen ist.

Ein alternativer Ansatz mit Cloud Functions

Ein weiterer Ansatz zum Erhalten des aktuellen Zeitstempels ist die Verwendung von Cloud Functions für Firebase. Dies kann mit dem folgenden Code erfolgen:

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

Durch das Hosten dieser Funktion in der Cloud können Sie den Server-Zeitstempel ohne Benutzerinteraktion erhalten.

Das obige ist der detaillierte Inhalt vonWie können Zeitstempel in der Firebase-Echtzeitdatenbank effizient gespeichert und abgerufen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage