javascript - JS new Date() akan menjadi 8 jam lebih awal apabila disimpan dalam mongodb Kami berada di Daerah Kelapan Timur dan mongodb menjimatkan masa Greenwich.
我想大声告诉你
我想大声告诉你 2017-06-05 11:08:46
0
7
1681

Saya menggunakan luwak,
Ini Skema yang saya takrifkan:

const report = mongoose.Schema({
    datetime: Date,
    username: String,
    detail: mongoose.Schema.Types.Mixed
})

Ini adalah data yang saya simpan:

let params = {
    username: 'testadmin',
    detail: '23123',
    datetime: new Date('December 17, 1995 03:24:00')
}

Selepas menyimpan ke dalam mongodb, masa yang disimpan adalah lapan jam lebih awal:

'3:00 pagi pada 17 Disember 1995' menjadi '7:00 malam pada 16 Disember, zon waktu adalah salah,,, Tolong beritahu saya apa yang perlu anda lakukan dalam situasi ini? Adakah terdapat kaedah pemprosesan yang sepadan dalam mongodb atau mongoose?

Terima kasih terlebih dahulu, abang!

我想大声告诉你
我想大声告诉你

membalas semua(7)
伊谢尔伦

Ternyata mongodb menyimpan masa UTC, yang disatukan secara global Kemudian simpannya secara langsung Tiada operasi dilakukan sebelum menyimpannya, letakkan masa Date(report.datetime).toLocaleString() dan call js Hanya Date().toLocaleString() terbina dalam akan melakukan

漂亮男人

Sebab luwak dan sekuel tidak mengambil kira zon waktu pada mulanya, dan ORM mendapat zon waktu yang salah kemudian. Penyelesaiannya adalah untuk melihat sama ada ia diselesaikan dalam versi terkini Jika ia belum diselesaikan, anda boleh cuba menghantar masalah kepada pengarang Kemudian anda hanya boleh memprosesnya sendiri di lapisan aplikasi, menulis +8 jam dan membaca -. 8.

滿天的星座

Kaedah getTimezoneOffset() mengembalikan perbezaan masa antara Waktu Min Greenwich dan waktu tempatan, dalam beberapa minit.

世界只因有你

Simpan sebagai cap waktu unix, jadi tidak akan ada sebarang masalah apabila anda mengeluarkannya, cuma proses penukaran mengikut zon waktu

.
洪涛

Hanya masukkan semula masa iso ke dalam Tarikh baharu Masa standard iso yang disimpan akan ditukar secara automatik kepada zon waktu tempatan apabila Tarikh baharu digunakan.

我想大声告诉你

Seperti yang dikatakan oleh beberapa pelajar di atas, gunakan format ISO: new Date("2017-03-02T08:00:00+08:00")

atau

Menggunakan moment.js

Untuk rujukan.

Suka MongoDB! Berseronoklah!


世界只因有你

Anda boleh cuba simpan cap masa

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan