Rumah  >  Artikel  >  pangkalan data  >  Mengapa NodeJS Mengembalikan Tarikh MySQL dalam UTC 2 Manakala Direct MySQL Fetch Mengembalikan UTC?

Mengapa NodeJS Mengembalikan Tarikh MySQL dalam UTC 2 Manakala Direct MySQL Fetch Mengembalikan UTC?

Patricia Arquette
Patricia Arquetteasal
2024-10-25 05:33:29309semak imbas

Why Does NodeJS Return MySQL Dates in UTC 2 While Direct MySQL Fetch Returns UTC?

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!

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