Buradaki birçok yanıt UTC olarak depolamayı göstermektedir. Ama buna çok dikkat et. Örneğin, randevuyu 12: 00'da planlıyorsanız, ancak randevu yaz saati uygulamasındaki değişiklikten sonra gerçekleşirse ne olur? UTC, randevu kaydedildiğinde dst'nin etkin olup olmadığı hakkında hiçbir bilgi tutmaz. Bir çok büyük, ünlü sistem bu hatayı yaptı, burada bir kullanıcı yaz aylarında sabah 9'da bir e-posta gönderiyor ve daha sonra kışın gönderilen zaman sabah 8'de gösteriyor, çünkü UTC'den gelen hesaplama, tarih saatine baktığınız zamana bağlı, tarih saatinin ne zaman kaydedildiği değil.
Çok daha iyi, kullanıcının her zaman seçtiği zamanları olmasını istediğini varsaymaktır. UTC dönüşümü yok, zaman dönüşümü yok, saat dilimi bilgisi yok, hiçbir şey yok. 21 Mart 2016 günü 08: 00-12: 00 saatleri arasında randevu almak tam da bu. Yerel saat veya UTC saati kullanmayın, ancak belirtilmemiş saat (json'da bu z veya + yoktur, temelde .NET'te DateTime.Kind = DateTimeKind.Unspecified vardır).
Tabii ki, kullanım durumunuz farklı zaman dilimlerinden biriyle toplantılar yapan bir şirketseniz ve bu bilgileri örneğin bir şirket takviminde görmek, ancak kullanıcıların saat diliminde ne zaman olduğunu görmelerine izin vermek istiyorsanız, daha karmaşık hale gelir. Zamanın farklı zaman dilimlerindeki (tedarikçi ve müşteri) farklı insanlar için doğru olması gerekir.
Bu gibi durumlarda, kaydetmek istediğiniz bile olabilir zaman randevum nedir saat diliminde, veritabanına kaydedilmiş ve bu dahil dst olup olmadığını. Bu şekilde, yerel saati her zaman ya şimdi ne olacağı ya da tarihsel olarak olması amaçlanan başka bir şeye geri hesaplayabilirsiniz. Zaman dilimleri çok statik olmadığından işleri daha da karmaşık hale getirir.
Neyse ki, http://nodatime.org/ gibi kütüphaneler buraya gelir ve şiddetle tavsiye edilir. Tarihlerle çok daha tutarlı çalışırlar. O zaman bile, tüm datetime değişkenlerinizi ve mantığınızı kendi paketleyicilerinize sarmanızı, arayüzleri alay edebilmeleri için kullanmanızı öneririm ve daha sonra yine de mantığı değiştirebilirsiniz.