2012-11-09 16 views
10

Ben bu biçim yyyy-mm-dd hh:mm:ss kullanılması gereken bir datetime eklemek için biliyorum.Nasıl SQLite için saat dilimiyle datetime eklemek için?

Ancak veri kümemde yyyy-mm-dd hh:mm:ss +/-0X:00 gibi görünen bir zaman damgası alanı var; burada X birçok değeri alabilir ve bilgisayarımın yerel saat diliminden farklı olabilir.

SQLite için böyle zaman dilimi bilgileri içeren bir datetime alanı eklemek için en iyi yolu nedir?

+4

Hep Greenwich dönüştürüldü saat eklemek istiyorum (UTS +0) ve istemcilerin yerel saate dönüştürmek istiyorum. Bu şekilde veritabanında zaman dilimini saklamanız gerekmez. Gerçekten zamanı ölçen müşterinin saat dilimini saklamanız gerekiyorsa, onu başka bir sütuna yerleştirin. – farfareast

+0

Kolay yolu varcahar/dize olarak zaman depolamak ve daha sonra –

+2

@ EmmanuelN sorgulama zamanını örtmek olacaktır - Bu korkunç bir fikir - tarih/zamanlarla daha zor çalışma yapacak; Değerleri daima mümkün olan en iyi tipte saklayın. farfareast'in daha iyi bir fikri vardır; Yine de, muhtemelen gün ışığından yararlanmayan UTC (Greenwich hakkında emin değilim) diyebilirim. –

cevap

8

SQLite'nın yerleşik tarih ve saat fonksiyonu saat dilimi bilgileri olmadan sadece zaman damgası dizeleri anlıyoruz. Saat dilimini ele istiyorsanız

, sahip ya

  • dönüştürme belirli bir zaman dilimine (UTC), onlara SQLite işlevleri kullanabilirsiniz ve sıralama için bunları kullanmak, böylece tüm damgaları; ya
  • orada saat dilimi bilgilerini bırakmak, fakat yaptığımız tüm hesaplamaları ve SQL ancak uygulamada değil sıralama. veritabanından aldığınızda