Heim > Java > javaLernprogramm > Wie kann ich Zeitstempel automatisch zu Firebase-Echtzeitdatenbankeinträgen hinzufügen?

Wie kann ich Zeitstempel automatisch zu Firebase-Echtzeitdatenbankeinträgen hinzufügen?

Susan Sarandon
Freigeben: 2024-12-27 13:51:14
Original
671 Leute haben es durchsucht

How Can I Automatically Add Timestamps to Firebase Realtime Database Entries?

Automatische Verfolgung von Zeitstempeln in Firebase-Echtzeitdatenbank-Ergänzungen

In der Firebase-Echtzeitdatenbank ist die Aufrechterhaltung genauer Zeitstempel für die Bestellung, Nachverfolgung von Änderungen und die Gewährleistung der Datenintegrität von entscheidender Bedeutung. Wenn Sie neue Werte über das Kontrollfeld der Datenbank hinzufügen, möchten Sie möglicherweise das aktuelle Datum und die aktuelle Uhrzeit automatisch erfassen. In diesem Artikel wird erläutert, wie Sie dies mit ServerValue.TIMESTAMP erreichen.

Lösung mit ServerValue.TIMESTAMP

Die beste Vorgehensweise besteht darin, Ihren Zeitstempel mit ServerValue.TIMESTAMP als TIMESTAMP-Datentyp zu speichern. Dadurch wird sichergestellt, dass die Datenbank den Zeitstempel automatisch festlegt, wenn der neue Wert hinzugefügt wird.

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

Beim Abrufen des Zeitstempels wird dieser als Long-Wert gespeichert. Um Datum und Uhrzeit in einem für Menschen lesbaren Format zu erhalten, können Sie die folgende Methode verwenden:

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

Bearbeiten: Um den Zeitstempel ordnungsgemäß in einer Modellklasse zu speichern, können Sie definieren ein Feld vom Typ Map und verwenden Sie die Annotation @ServerTimestamp.

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;}
}
Nach dem Login kopieren

Alternativer Ansatz mit Cloud-Funktionen

Ein anderer Ansatz besteht darin, eine Cloud-Funktion in Firebase zu erstellen, die den aktuellen Server-Zeitstempel zurückgibt. Sie können diesen Zeitstempel dann aus Ihrem Frontend-Code abrufen.

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

Diese Methode bietet eine konsistente und zuverlässige Möglichkeit, den Server-Zeitstempel ohne Benutzerinteraktion abzurufen.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeitstempel automatisch zu Firebase-Echtzeitdatenbankeinträgen hinzufügen?. 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