Menangani masalah timezone pada tipe data Waktu di C#

--

Ada beberapa tipe data yang bisa menampung data waktu di C#, seperti DateTime, DateOnly, TimeOnly dan lainnya. Namun dari semua itu kita akan sering menemui masalah jika menghadapi kebutuhan timezone. Akan menjadi kesulitan jika kita simpan hanya di satu timezone, sedangkan klien kita sedang mengakses di timezone yang berbeda.

Lalu solusinya bagaimana?

Sepengalaman saya, ada 1 solusi yang menurut saya cukup mudah diimplementasikan. Yaitu kita hanya perlu menyimpan date ke dalam format UTC

Get DateTime Now

Lalu disaat data akan ditampilkan ke klien, kita tinggal gunakan .ToLocalTime()

Response date untuk klien

Dengan begitu, data yang akan muncul di klien adalah waktu dan tanggal yang sesuai dengan timezonenya. Kita tidak perlu mengetahui klien berada di timezone mana dan melakukan konversi, semua sudah di handle oleh System.DateTime.

Semoga bermanfaat

--

--