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

Fungsi Buka Sekarang khusus zona waktu

  1. Baca tentang dukungan zona waktu di MySQL , dan pastikan database mysql Anda dikonfigurasi dengan tabel zona waktu saat ini. Perbarui secara teratur.

  2. Kaitkan setiap lokasi dengan zona waktu bernama IANA/Olson, seperti "America/Los_Angeles" , atau "Europe/London" . Lihat daftarnya di sini . Jika Anda memiliki lintang/bujur, Anda dapat mencari zona waktu melalui salah satu metode ini .

  3. Gunakan MySQL CONVERT_TZ berfungsi untuk mengubah waktu UTC saat ini ke zona tertentu. Misalnya, CONVERT_TZ(UTC_TIMESTAMP(),'UTC','Asia/Tokyo')

  4. Gunakan hari dalam seminggu dan waktu hari dikonversi waktu untuk memeriksa hari dan rentang di entri lokasi.

Juga, perhatikan bahwa orang lain mungkin menyarankan mengambil pendekatan hanya menyimpan UTC dalam database, atau mengonversi semua nilai ke UTC sebelum membandingkan dengan nilai "sekarang". Salah satu dari pendekatan tersebut dapat gagal dalam kasus tepi, karena hari dalam seminggu UTC tidak selalu sama dengan hari dalam seminggu seperti di setiap zona waktu.

Satu pendekatan lain yang akan bekerja, tetapi membutuhkan lebih banyak upaya, adalah untuk menentukan waktu mulai dan berhenti UTC tertentu untuk beberapa waktu di masa depan (setidaknya ke yang berikutnya, tetapi mungkin lebih jauh). Kemudian Anda dapat memindai daftar ini dengan waktu UTC. Ini bekerja lebih baik dalam skala, ketika Anda memiliki ribuan atau lebih entri individu untuk diperiksa. Tetapi pada skala yang lebih kecil, biasanya tidak sebanding dengan biaya overhead.

Demikian juga, Anda dapat memiliki proses latar belakang yang hanya menetapkan tanda "sekarang terbuka" pada setiap catatan, tetapi proses itu harus terus-menerus bekerja melawan basis data Anda, dan Anda tidak akan pernah dapat memeriksa waktu selain "sekarang".




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Tampilkan status tabel, kenaikan otomatis tidak benar

  2. Tidak dapat menginisialisasi kumpulan karakter utf8mb4 dengan Windows mysql-python

  3. Data tidak disimpan menggunakan pernyataan yang disiapkan

  4. Menggunakan MySQL dengan Entity Framework

  5. Apakah MS-SQL mendukung tabel dalam memori?