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

Menyimpan nilai Tanggal/Waktu tertentu untuk pengguna di zona waktu yang berbeda

Karena Anda berbicara tentang penjadwalan masa depan waktu, menyimpan hanya UTC belum tentu merupakan pendekatan terbaik.

Ingatlah bahwa aturan zona waktu dapat (dan memang) berubah. Jika Anda menerapkan pembaruan ke data zona waktu Anda (dalam PHP, itu dilakukan dengan timezonedb PECL's paket), maka data apa pun yang telah Anda konversi ke UTC mungkin tidak valid.

Solusi yang lebih baik adalah menyimpan beberapa nilai:

  • Tanggal dan waktu lokal asli

  • Zona waktu asli (mis. "America/New_York" )

  • Tanggal dan waktu UTC, dikonversi dari nilai lokal

Bila Anda ingin melihat apakah sudah waktunya untuk menjalankan tugas, Anda akan membandingkan tanggal dan waktu UTC saat ini dengan nilai UTC yang disimpan.

Saat Anda menerapkan pembaruan zona waktu, Anda membuang nilai UTC yang dikonversi sebelumnya untuk semua entri mendatang, dan menghitung ulang yang baru berdasarkan data yang diperbarui.

Jika Anda tidak melakukan ini, Anda kehilangan maksud yang awalnya diberikan pengguna. Dan jika Anda tidak memperbarui data zona waktu Anda, maka sistem Anda tidak akan mengetahui berbagai perubahan yang terjadi di seluruh dunia, seperti perubahan yang dibuat di Mesir awal tahun ini, atau perubahan yang akan datang di bulan Oktober untuk Rusia.

Poin terakhir - Jika diterapkan dengan benar, zona waktu server Anda seharusnya tidak menjadi masalah. Bandingkan UTC dengan 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. C# Eksekusi mysqlnonqueryasync tidak asinkron

  2. masukkan nilai formulir pilih html ke dalam database mysql

  3. Rollback Otomatis jika TRANSAKSI COMMIT tidak tercapai

  4. SQL Server setara dengan fungsi substring_index di MySQL

  5. cara memutar audio mp3 yang disimpan di mysql blob menggunakan php