Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menambah Cap Masa Secara Automatik pada Entri Pangkalan Data Masa Nyata Firebase?

Bagaimanakah Saya Boleh Menambah Cap Masa Secara Automatik pada Entri Pangkalan Data Masa Nyata Firebase?

Susan Sarandon
Susan Sarandonasal
2024-12-27 13:51:14709semak imbas

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

Menjejak Cap Masa secara Automatik dalam Penambahan Pangkalan Data Masa Nyata Firebase

Dalam Pangkalan Data Masa Nyata Firebase, mengekalkan cap masa yang tepat adalah penting untuk membuat pesanan, menjejak perubahan dan memastikan integriti data. Apabila menambah nilai baharu melalui panel kawalan pangkalan data, anda mungkin mahu menangkap tarikh dan masa semasa secara automatik. Artikel ini menerangkan cara untuk mencapai ini menggunakan ServerValue.TIMESTAMP.

Penyelesaian menggunakan ServerValue.TIMESTAMP

Amalan terbaik ialah menyimpan cap masa anda sebagai jenis data TIMESTAMP menggunakan ServerValue.TIMESTAMP. Ini memastikan pangkalan data menetapkan cap masa secara automatik apabila nilai baharu ditambah.

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

Apabila mendapatkan semula cap masa, ia akan disimpan sebagai nilai Panjang. Untuk mendapatkan tarikh dan masa dalam format yang boleh dibaca manusia, anda boleh menggunakan kaedah berikut:

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

Edit: Untuk menyimpan cap masa dengan betul dalam kelas model, anda boleh menentukan medan jenis Map dan gunakan anotasi @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;}
}

Pendekatan Alternatif menggunakan Fungsi Awan

Pendekatan lain ialah mencipta Fungsi Awan dalam Firebase yang mengembalikan cap masa pelayan semasa. Anda kemudian boleh mendapatkan cap masa ini daripada kod bahagian hadapan anda.

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

Kaedah ini menyediakan cara yang konsisten dan boleh dipercayai untuk mendapatkan cap masa pelayan tanpa interaksi pengguna.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Cap Masa Secara Automatik pada Entri Pangkalan Data Masa Nyata Firebase?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn