Merhabalar,
Geliştirdiğim projede zaman dilimiyle ilgili takıldığım bir konu var.
Sunucuda şuan yerel saat dilimi (Örn. Sunucu istanbul'da ise +03:00) kullanıyorum. Sunucuya veri gönderen cihazlar hem UTC formatında hem de yerel saat zaman dilimi formatında veri gönderiyor.
Sunucu nerede olursa olsun (New York, İstanbul, Tokyo) UTC (00:00) formatında olup veri gönderen cihazların da UTC formatında veri göndermesi mi daha doğru olur yoksa,
Sunucu yerel saat zaman diliminde olup veri gönderen cihazların saat bilgisine sunucunun bulunduğu yerel saat zaman dilimini mi eklemek daha doğru olur.
Veritabanında biriken veriler web ortamında gösterileceği için eğer UTC 0 formatında veri kaydedersem kullanıcı hangi zaman dilimine göre verileri görüntülemek istiyorsa o şekilde görüntüler, Yerel zaman dilimi kullanırsam sanıyorum bir karmaşaya sebep olacak.
Bu konuda fikirlerinizi, tecrübelerinizi bekliyorum, teşekkürler.
Server - Client Zaman Dilimi Hk.
6
●180
- 01-03-2022, 22:21:29Bazı cihazlar utc formatında datetime gönderiyor, bazıları ise timestamp olarak gönderiyor. Her iki durumda da datetime olarak veritabanına kaydediyorum. Unix Timestamp (bigint) veri türünde veritabanına kaydedersem geçmşe dönük sorgulamalarda performans kaybına neden olur mu diye çekimser davrandım.Dogukan adlı üyeden alıntı: mesajı görüntüle
- 01-03-2022, 23:09:00O halde UTC0 olarak işlem yapmak yine gerekli yerlerde cihazın timezone’una göre işlem yapmak en doğrusu olacaktır. Normalde unix timestamp taraftarıyım ama son projemde ben de bu şekilde yapmıştım.emrahe adlı üyeden alıntı: mesajı görüntüle
- 02-03-2022, 00:05:43Uygulama kısmında UTC-0 dönüşümünü sağladım ancak veritabanı kısmında UTC-0 ayarlamaya çalıştığımda içinden çıkamadığım bir sorunla karşılaştımDogukan adlı üyeden alıntı: mesajı görüntüle

Gps takip sisteminde örneğin 02.03.2022 02:00:00'da konum gönderen cihazın UTC saati 01.03.2022 23:00:00 olarak veritabanına kaydediliyor.Cihazın günlük km bilgisini tuttuğum veritabanında günlük tarih olarak kayıtlar tutuluyor.Utc-0 formatını uyguladığımda cihaz aslında 02.03.2022 02:00:00 saatinde konum gönderdiği için 02.03.2022 tarihi için günlük km bilgisi olması gerekir ancak, UTC-0 uygulandığı için saat 23:00:00-23:59:59 arasındaki km bilgisi bir önceki güne yazılmış oluyor. Dolayısıyla günlük km bilgisinde eksiklik olmasına sebep oluyor.
Günlük km bilgisini tuttuğum tabloya zaman dilimleri için ayrı kolonlarda da km bilgisi tutmak istemiyorum. Bir fikriniz var mı? - 02-03-2022, 00:30:50Veritabanı olarak MsSql Server kullanıyorum.Dogukan adlı üyeden alıntı: mesajı görüntüle
Sizin son gönderdiğiniz sorgu ile aslında amacıma ulaşırım ancak cihaz konumlarında milyonlarca veri oluyor bu yüzden sürekli günlük km yi filtrelemek performansa olumsuz etki eder. Dolayısıyla her konum eklendiğinde ayrı bir tabloda ilgili cihaz için aşağıdaki gibi bir veri birikmeye başlıyor. Örneğin bugün tarih 2022-02-23 ise tablodan TARIH kolonuyla filtreleme yapılarak MESAFE bilgisi hızlıca alınmış oluyor. İşte tam bu noktada veriler bu tabloya kaydedilirken UTC-0 formatı uygulanırsa bir sonraki günde olması gereken km bilgisi bir önceki güne eklendiği için km kaybına sebep oluyor.
BU VERİLER CİHAZ KONUMLARINDAN AYRI TUTULAN TABLOYA KAYIT EDİLİYOR


