Получение только текущей даты и текущего времени соответственно


я наткнулся на интересную ситуацию.

class Company(models.Model):
    date = models.DateField()
    time = models.TimeField()

при использовании этого класса:

c = Company(date=datetime.datetime.now(), time=datetime.datetime.now()) 

Джанго решает использовать DATETIME_INPUT_FORMATS определяется в пределах formats.py файл. Что имеет смысл, потому что я передаю в datetime.теперь() к обоим полям.

Я думаю, что я мог бы сделать Django использовать DATE_INPUT_FORMATS и TIME_INPUT_FORMATS соответственно, если я передал только текущую дату и текущее время.

что-то вроде этого:

c = Company(date=datetime.date.now(), time=datetime.time.now()) 

но это бросает такого исключения, как сейчас, не существует. Есть ли другой способ достичь этого?

Большое Спасибо,

3 63

3 ответа:

для даты, вы можете использовать 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