NodeJS Mengembalikan Zon Waktu MySQL Berbeza Daripada Direct MySQL Fetch
Soalan:
Apabila membuat permintaan terus ke MySQL, anda menerima tarikh dalam UTC, iaitu zon waktu yang dikonfigurasikan pada pelayan. Walau bagaimanapun, apabila mengambil data melalui NodeJS, anda secara konsisten menghadapi offset zon waktu UTC 2. Mengapa ini berlaku dan bagaimana anda boleh membetulkan isu ini untuk mendapatkan tarikh UTC?
Jawapan:
Percanggahan dalam pengendalian zon waktu berpunca daripada konfigurasi yang hilang dalam persekitaran NodeJS anda . Khususnya, anda perlu menetapkan zon waktu kepada 'utc' apabila memulakan sambungan MySQL.
Untuk menyelesaikan isu ini, tambah baris berikut pada kod NodeJS anda di mana anda mewujudkan sambungan MySQL:
db_config.timezone = 'utc';
Sebagai contoh, jika kod anda ditakrifkan dalam fail bernama index.js, anda akan mempunyai konfigurasi berikut:
<code class="javascript">var db_config = { host: 'localhost', user: 'xxx', password: '', database: 'xxx', timezone: 'utc' };</code>
Setelah konfigurasi ini disediakan, NodeJS akan mentafsir dan memaparkan tarikh dengan betul dalam UTC, menyelaraskan dengan nilai yang anda peroleh apabila mengambil data terus daripada pelayan MySQL. Ini memastikan ketekalan dan ketepatan dalam mengendalikan medan masa tarikh merentas persekitaran yang berbeza.
Atas ialah kandungan terperinci Mengapa NodeJS Mengembalikan Tarikh MySQL dalam UTC 2 Manakala Direct MySQL Fetch Mengembalikan UTC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!