Hepimizin bildiğimi UTC 3'deyiz. NodeJS default timezone'si UTC 0'da. Bunu güncellediğimizde date değeri her durumda String'e dönüyor ve kayıt işleminde String olarak kaydetmek zorunda kalıyoruz. Hem timezone'yu güncelleyip, hem de Date formatında nasıl kaydedebiliriz?
Teşekkürler,
NodeJS Date Kayıt İşlemi
11
●448
- 24-03-2019, 13:37:04
- 24-03-2019, 13:40:46Sunucunun saatini alir nodejs olmadi kendi saat objenizi yaratin.
- 24-03-2019, 13:48:30Onu kullandığımızda, gerekli timezone'a ulaşabiliyorum. Konsola yazdırabiliyorum, fakat veritabanına kaydederken; String olarak kayıt yapıyor. Veritabanı kayıt şemasında type'ını Date olarak belirttiğimde ise kendi Date'sini atıyoruz.Alicanklc adlı üyeden alıntı: mesajı görüntüle
Kendi objemizde, String kayıt yapıyor.EmporiaMedya adlı üyeden alıntı: mesajı görüntüle - 24-03-2019, 13:54:15
- 24-03-2019, 14:04:31p_zaman: {EmporiaMedya adlı üyeden alıntı: mesajı görüntüle
type: Date,
default: nd
}
Bu şekilde yaptığımızda, Date formatında kayıt yapıyor fakat yine 3 saat önceyi kayıt ediyor.
p_zaman: {
type: String,
default: nd
}
Bu şekilde yaptığımızda, saat 14 oluyor fakat String kayıt gerçekleştiriyor. - 24-03-2019, 14:07:15Attığım linke bakarsaniz anlarsiniz bu sizin modeliniz. Date objesini nasil time zonea göre yaratacağınızı anlatıyorahmetonursolmaz adlı üyeden alıntı: mesajı görüntüle
- 24-03-2019, 14:12:46d = new Date();EmporiaMedya adlı üyeden alıntı: mesajı görüntüle
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
nd = new Date(utc + (3600000*+6.00));
Şu şekilde yeni obje yarattım. Bunu konsola okuttuğumda istediğim sonucu alıyorum. Hem date formatında, hem de istediğim timezone'da. Olay az önce yukarıda attığım modelde başlıyor. Modelde kayıt ederken type'ı Date seçtiğimde kendi timezone'sini yazıyor. String seçtiğimde, istediğim timezone fakat string değer işimi görmüyor. - 24-03-2019, 14:38:12ahmetonursolmaz adlı üyeden alıntı: mesajı görüntüle
Model içerisine fonksiyon yazmayı denediniz mi? Sequelize dökümantasyonunda bulabilirsiniz