0

私は次のモデルを持っています:

class People(models.Model):
    name = models.CharField(max_length=100)
    lastname = models.CharField(max_length=100)
    _date=models.DateTimeField()

views.py で

-これを試してみると:

p = People(name='foo', lastname='bar', _date=datetime.now())
p.save()

現在の時刻を返します。2012-10-31 17:33:10.152323

しかし、このレコードのデータベースを確認すると、次のように表示されます。

name lastname _date 
foo   bar      2012-10-31 21:33:10

なぜこれ(2つの異なる時間)が起こるのですか?

編集:(4時間の違いです):2012-10-31 17:33:10.152323 and 2012-10-31 21:33:10

4

2 に答える 2

2

Django はタイムゾーンを使用DatetimeFieldsしてデータベースに保存します。TIME_ZONEこれが、設定でa を指定した理由です。

詳細については、https ://docs.djangoproject.com/en/dev/topics/i18n/timezones/ を参照してください。

フィールドにナイーブでない日時を指定したい場合は、次を使用する必要があります。

now = datetime.utcnow().replace(tzinfo=timezone('Your/Timezone'))

タイムゾーンはここにあります: http://en.wikipedia.org/wiki/List_of_tz_zones_by_name

于 2012-10-31T23:02:29.577 に答える