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
Lepaskan: 2024-12-27 13:51:14
asal
663 orang telah melayarinya

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);
Salin selepas log masuk

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";
    }
}
Salin selepas log masuk

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;}
}
Salin selepas log masuk

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()})
})
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan