Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

tanggal waktu tepat di aplikasi tetapi salah di mysql [zona waktu]

Apa saja jenis kolom di MySQL? Saya menduga ini DATETIME. Jenis ini tidak menyimpan "momen dalam waktu", tetapi menyimpan "jam pada jam", sehingga dapat berarti momen yang berbeda di zona waktu yang berbeda.

Ketika driver MySQL menulis java.util.Date ke kolom DATETIME, ia harus memilih beberapa zona waktu untuk menulis "jam pada jam", karena java.util.Date yang sama dapat berarti jam yang berbeda di zona waktu yang berbeda. Ini menyimpan jam seperti di zona waktu lokal server MySQL.

LocalDateTime tidak memiliki masalah ini, karena seperti DATETIME. Ini mewakili jam pada jam, bukan saat dalam waktu, sehingga tahun/bulan/hari-jam/menit/detik hanya disimpan dalam database. Pemberitahuan di log hibernasi LocalDateTime diberikan apa adanya, sementara ada zona waktu ("CST") di sebelah Tanggal.

Secara umum, ini adalah praktik yang baik untuk menyimpan waktu selalu dalam UTC, jadi gunakan DateTime, bukan Date atau LocalDateTime. DateTime dengan konverter jadira selalu menyimpan/membaca DATETIME sebagai UTC.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghitung Perbedaan Antara Dua Timestamp di MySQL

  2. MySQL, Kesalahan 126:File kunci salah untuk tabel

  3. cara keluar dari pembatas dari konten kolom saat mengekspor csv

  4. Mysql Masukkan Nomor Pesanan Dengan Bidang VARCHAR

  5. Beberapa tabel dengan hubungan satu ke banyak (Laravel)