Veritabanında UTC'de tüm tarih-saat değerlerini depolayan bir çok-zaman dilimi web uygulamasına sahip, sunucuda eylemler gerçekleştiğinde, zamanı UTC'ye kolayca dönüştürebiliyorum. Ancak, bir istemci bir zaman veya zaman dilimi girdiğinde, onu algılamanın ve depolamanın en iyi yolu nedir?Bir web uygulamasının istemcisinin bulunduğu saat dilimini tespit etmenin ve depolamanın en iyi yolu nedir?
- o Sayfasında ICallbackEventHandler aracılığıyla sunucu tarafı kod Date.getTimezoneOffset() (javascript)
- Mesaj değerini alın:
Şu anda aşağıdaki yapıyorum. sonraki herhangi İstek üzerine oturumu
- yılında değer
- Store, müşterinin zaman dilimini kullanarak çıkış/giriş datetime değerini hesaplayın.
Gerçek uygulamadan bağımsız olarak, bu zarif olmayan bir çözüm gibi görünüyor. Daha iyi bir yöntemi olan var mı?
Bu düzgün bir çözümdür ve ben kabul tek. Bundan uzaklaşmamın tek nedeni, bir kullanıcının bir eylemi yapmak için X saat süresinin kalması gibi bir "geri sayım sayacı" senaryosuydu. Sunucuda bu mantığın olması gerektiğini hissettim, ama sanırım javascriptte iyi olurdu. –
Kullanıcı üzerinde bir zaman sınırı olan her şey kesinlikle sunucuya karşı kontrol edilmelidir. Geri sayım sayacı bu soruyla ilişkili gibi görünüyor: http://stackoverflow.com/questions/198049/prevent-js-alert-from-pausing-timers Benzer bir fikir, bu, istemci tarafında doğrulama, hile yapmaya karşı savunmasızdır. – Mnebuerquo
@Mnebuerquo iyi nokta. Muhtemelen melez bir yöntemle gitmem gerekecek. –