Percanggahan Zon Waktu MySQL NodeJS
Apabila mengambil data terus daripada pangkalan data MySQL, tarikh yang dikembalikan dipaparkan dalam UTC, dengan mengandaikan pelayan MySQL adalah ditetapkan kepada UTC. Walau bagaimanapun, selepas menyepadukan MySQL dengan NodeJS, data itu diambil dalam zon waktu tempatan, UTC 2 dalam kes ini. Memahami percanggahan ini adalah penting untuk mengekalkan penyegerakan antara pangkalan data dan pengendalian masa aplikasi.
Sebab asas perbezaan ini terletak pada mekanisme pengendalian zon waktu MySQL dan NodeJS. MySQL menggunakan zon waktu sistem untuk operasi tarikh dan cap waktu secara lalai. Sebaliknya, NodeJS menggunakan tetapan zon waktu sistem pengendalian melainkan dibatalkan secara eksplisit. Perbezaan ini membawa kepada sisihan apabila menanyakan MySQL dengan NodeJS.
Untuk membetulkan isu ini dan menjajarkan NodeJS dengan zon waktu UTC MySQL, konfigurasi sambungan dalam NodeJS mesti dilaraskan. Khususnya, sifat "zon waktu" perlu ditentukan. Parameter ini memastikan NodeJS mengekalkan zon waktu yang sama seperti MySQL, tanpa mengira tetapan sistem pengendalian.
Dalam coretan kod yang disediakan, sifat "zon waktu" telah ditambahkan pada konfigurasi sambungan MySQL:
var db_config = { host: 'localhost', user: 'xxx', password: '', database: 'xxx', timezone: 'utc' //<- This line resolves the issue };
Dengan menggabungkan sifat ini, NodeJS kini dikonfigurasikan untuk mendapatkan semula data dalam UTC, sepadan dengan tingkah laku MySQL. Pelarasan ini menghapuskan percanggahan zon waktu, memastikan pengendalian cap masa yang konsisten antara pangkalan data dan aplikasi NodeJS.
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berasaskan soalan yang sesuai dengan kandungan artikel anda: * **Mengapa NodeJS memaparkan data MySQL dalam zon waktu yang berbeza daripada pangkalan data?** * **Cara menyelaraskan NodeJS dan MySQL timez. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!