私はこれをタイムゾーンで把握するのに本当に苦労しています。私はこのようなモデルのカレンダーアプリを持っています:
class Events(models.Model):
dtstart = models.DateTimeField('Start')
...
def __unicode__(self):
aware = self.dtstart.replace(tzinfo=timezone.get_current_timezone())
#dt = defaultfilters.date(aware, 'Y-m-d H')
dt = aware.strftime('%Y-%m-%d %H:%M')
return dt
そしてsettings.pyにはこれが含まれています:
TIME_ZONE = 'Europe/Stockholm'
USE_TZ = True
Django管理インターフェースを使用して、明日19:00頃に開始するイベントを追加すると、sqlite-dbには次の内容が含まれます。
$ sqlite3 ~/django_test.db "SELECT dtstart from events_events"
2013-03-04 18:00:00
これは私にはUTCタイムスタンプのように思えます(これは正しいと思います)。htmlをレンダリングするときは、を使用してすべて問題ありません{{event.dtstart|date:"H.i"}}
。本来は19:00を表示します。ただし、問題は__unicode__
、Eventクラスの-メソッドがを返すこと2013-03-04 18:00
です。ご覧のとおり、これを修正しようとしましたが、行き詰まりました。私の問題はどこにあり、代わりにこの__unicode__
メソッドを返すにはどうすればよいですか。2013-03-04 19:00
今ここスウェーデンでは夏時間だと思います。