Aşağıdaki durum var: -: 2014-09-29 datetime değeri kaydedilirken, bu gibi görünüyor önce bir tarladasqlalchemy
timestamp without time zone
- Sağ ile Postgres arka uç 06: 00: 00 + 00: 00
- sonra db aynı satır yüklemek ve değerdir: 2014-09-29 09:00:00
Yani veritabanında saklanan tarihtir artık 6:00 değil ama 9 am - yerel saat dilimimde dönüştürüldü.
Neler olduğunu anlamıyorum. Kaydedilen tarih neden yerel olarak dönüştürülür?
Teşekkürler.
Düzenleme @ univerio cevabı şey denedim Yani sonra
: Ben
.replace(tzinfo = None)
yaparak tarih zaman tzinfo kaldırıldı Ve şimdi tarihinin doğru kaydedilir - bu ayarlanmaz yerel zamana. Niçin anlamıyorum, bu yüzden birisinin bir açıklaması olması durumunda soruyu şimdilik açık bırakacağım.
Teşekkürler.
ayarlayabilirsiniz
timezone
istemci ayarı hakkında PostgreSQL istemci belgeleri: o saat dilimi bilgileri içeren bir zaman damgası ile dönüştürülmüş alacak görünür PostgreSQL tarafından zaman dilimi olmadan zaman damgası olarak saklandığında bağlantının saat dilimi. 'Datetime'nizi naif yaparak, PostgreSQL'in zaman damgasını olduğu gibi sakladığını söylüyorsunuz. Bu naip 'datetime's ile iyiyse, bu iyi bir çözümdür. Şahsen, bence her zaman farkında olan 'datetime's/'timestamp's ile çalışarak ve her zaman UTC kullanarak bu çarklardan kaçınmak daha doğru olur. – univerio