このクラスを使用すると、興味深い状況に遭遇しました。
class Company(models.Model):
date = models.DateField()
time = models.TimeField()
c = Company(date=datetime.datetime.now(), time=datetime.datetime.now())
Djangoは、formats.pyファイル内で定義されているDATETIME_INPUT_FORMATS
を使用することにしました。 datetime.now()
を両方のフィールドに渡すため、これは理にかなっています。
現在の日付と現在の時刻のみを渡した場合、Djangoを作成してそれぞれDATE_INPUT_FORMATS
とTIME_INPUT_FORMATS
を使用できると思います。
このようなもの:
c = Company(date=datetime.date.now(), time=datetime.time.now())
しかし、このように存在しないため、これは明らかに例外をスローします。これを達成する別の方法はありますか?
日付には、datetime.date.today()
またはdatetime.datetime.now().date()
を使用できます。
当分の間、datetime.datetime.now().time()
を使用できます。
しかし、そもそもなぜこれらのフィールドを分けているのでしょうか?単一のDateTimeField
を使用しないのはなぜですか?
どちらか一方だけが必要な場合は、後で.date()
または.time()
を返すヘルパー関数をモデルにいつでも定義できます。
import datetime
datetime.datetime.now().strftime ("%Y%m%d")
20151015
とりあえず
from time import gmtime, strftime
showtime = strftime("%Y-%m-%d %H:%M:%S", gmtime())
print showtime
2015-10-15 07:49:18
import datetime
datetime.date.today() # Returns 2018-01-15
datetime.datetime.now() # Returns 2018-01-15 09:00