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.