2016-04-04 15 views
1

GAE veri mağazasında bir tarihi kaydettiğimde, zaman ve saat dilimi ile kaydeder. Ben sadece yyyy/MM/dd zaman dilimi gibi bir tarih, bir nd kaydetmek istiyorum Tarih Ben datatype değil Tarih olarak almak istiyorum.Google App Engine'de zaman ve tarih olmadan zamandan tasarruf edin

Nasıl yapmalı?

+0

w/o timezone ne demek istiyorsunuz? UTC? UTC –

+0

'da olduğuna inanıyorum, "2016-04-22 (16: 00: 00.000) AKDT" formatında kaydediyor. ama ben sadece 2016-04-22 olarak kaydetmek istiyorum (zaman ve zaman dilimi yok) –

+1

Neden saati gece yarısına ayarlamıyorsunuz? Esasen bir tarih nesnesi bir 'Long' Unix mikrostimidir. Yani yapacağınız tek şey, o günün gece yarısı olan 1000 * 60 * 60 * 24' modunu çıkarmak olacaktır. – konqi

cevap

0

Biraz garip, ancak bir veriyi bir tarih kaydına veri deposunda kaydettiğinizde, Google aslında bunu bir datetime olarak saklar. Bakınız here.

Bunu aldığınızda inanıyorum, tarih ile bir zaman alacaksınız, ama zaman sadece sıfır olduğundan, bir tarihe dönüştürmek ve zamanı atmak kolaydır. Bu bir sorunsa, gerçek Python tarih nesnesini (Python kullandığınızı varsayarak) veri deposunda saklamak için bir PickleProperty kullanabilirsiniz.

+0

Aslında java kullanıyorum ve için startDate Equal filtresini kullanarak GAE'den kayıt alıyorum. ve bu sth sadece saat dilimi olmayan tarihtir. Ama Burada DB'de zaman dilimi farklıdır, bu yüzden sorgu null verir. tarih aynı olsa bile. –

+0

Sorun şu ki, saat dilimi ayrıca offset'i sunucuda ayarlanan saat dilimi temelinde saat cinsinden kaydediyor – EliuX

İlgili konular