0

日時の変換に問題があります。私は実際にdjangoを使用しており、モデルフィールドの1つでdateフィールドではなくdatetimeフィールドを使用しました。ここで時差を表示する必要があり、djangosnippets からそのスニペットを取得しました。しかし、それはタイムスタンプを受け入れます。

だから私は、実際にPythonのタイムスタンプとは何か、どうすればそれを作ることができるのか混乱しています。以下の行のようにさまざまなことを試しました:

publish_date.timetuple()

しかし、これは、'datetime.date' object has no attribute 'mktime'.datetime.datetimeにはこのmktimeがあると思いますが、datetime.dateにはないと思いますので、使用できません。

int(parse(publish_date).strftime('%s'))

ここでの解析は、dateutil という名前のサードパーティ モジュールからのものですが、今回は次のエラーが発生します。

datetime.date' object has no attribute 'read'

そして、次のコードに対して同じエラーが発生します。

humanizeTimeDiff(publish_date)

したがって、datetime.date オブジェクトをタイムスタンプに変換しようとするより良いアイデアやアプローチはありません。datetime.datetime の変換も役立つようです。しかし、どのように?

4

1 に答える 1

2

データベースには時間情報がないため (日付のみ)、日数の差しか計算できません。これを行うには、単純に日付オブジェクトを減算します。これにより、2 つの日付 (または日時) オブジェクトの差を表すtimedeltaオブジェクトが生成されます。

>>> d1
datetime.date(2012, 9, 16)
>>> d2
datetime.date(2012, 9, 17)
>>> d2-d1
datetime.timedelta(1)
>>> print d2-d1
1 day, 0:00:00
>>> print (d2-d1).days
1
于 2012-09-17T04:52:23.000 に答える