Spor etkinliklerini listeleyen bir uygulamamız var. Bir etkinlik 2 takımla ilişkilidir (ev sahibi takım ve uzak takım). Etkinlik listesinde, etkinliğin tarihini ev sahibinin saat diliminde gösteririz. Veritabanındaki tarihleri UTC'de saklıyoruz. Etkinlik listesi sayfasında bir tarih filtresi eklememiz gerekiyor, ancak sorun şu ki, tarihi UTC'de db olarak saklıyoruz ve etkinlik listesindeki tarihler, ev ekibinin saat diliminde gösteriliyor. Tarih filtresi beklenmedik sonuçlar. db'de tarih 2016-02-18 03:30:00+00
(UTC) olarak kaydedilir. Olay listesinde kullanıcıya gösterildiğinde, ev sahibi takım Pennsylvania'da ve zaman dilimi America/New_York
olduğundan, 02/17/2016 7:30pm
numarasıdır. tarih filtresi kullanıcı tarafından 02/17/2016
olarak ayarlandığında, tarihin 02/17/2016
olduğu tüm olayları almak için db'yi sorgulıyoruz. Beklenmedik sonuçlara neden olacağından, etkinlik ile eşleşmeyeceği için db tarihimiz 02/18/2016
'dur.Öğelerin farklı saat dilimlerinin olduğu bir listede bir tarih filtresi uygulamanın iyi bir yolu nedir?
Düşünebildiğim bir çözüm, olay listesinde 2 numaralı tarihte & zaman sütunudur.
Tarih (UTC) | Zaman (UTC) | Tarih (Ev sahibi takımının saat dilimi) | Zaman (Ev takımın zaman bölgesi)
Ve tarih filtre kullanarak zaman tarih (utc)
kullanarak olayları filtreler Ama şu anda daha iyi bir çözüm arıyorsanız bu kullanıcıyı bilgilendirmek. Herhangi bir yardım/öneri büyük takdir :)
EDIT:
event 1:
- date: 01/12/2016
- time: 9:00am
- home team's timezone: America/Chicago
event 2:
- date: 01/12/2016
- time: 9:00am
- home team's timezone: America/Denver
event 3:
- date: 01/12/2016
- time: 9:00am
- home team's timezone: Asia/Singapore
kullanıcı tarih filtresinde 2016/01/12 seçerse. Yukarıdaki 3 etkinliği hala göstermelidir.
Eğer tarih filtresi için kullandığınız bize söyleyebilir misin? Yaptığınız bu manuel kod mu yoksa çerçeve mi? AngularJS gibi bazı çerçeveler, zaman dilimlerini filtreye yapılandırabilirsiniz. –
Bir datepicker kullanıyorum - https://angular-ui.github.io/bootstrap/#/datepicker.Kullanıcı bir tarih seçtiğinde, seçilen tarihe göre filtrelenen olayların listesini almak için bir API isteği yürütülür. Sorum şu UI/UX hakkında. –