При использовании этого класса я столкнулся с интересной ситуацией:
class Company(models.Model):
date = models.DateField()
time = models.TimeField()
c = Company(date=datetime.datetime.now(), time=datetime.datetime.now())
Django решает использовать файлы, DATETIME_INPUT_FORMATS
определенные в файле sizes.py . Это имеет смысл, потому что я перехожу datetime.now()
к обоим полям.
Думаю, я мог бы заставить Django использовать DATE_INPUT_FORMATS
и, TIME_INPUT_FORMATS
соответственно, если бы я передал только текущую дату и текущее время в.
Что-то вроде этого:
c = Company(date=datetime.date.now(), time=datetime.time.now())
Но это явно вызывает исключение, поскольку сейчас такого не существует. Есть ли другой способ добиться этого?
источник
pytz
), когда вы переходите к отображению времени. Это не только лучший способ хранения, но и бесплатная обработка часовых поясов, потому чтоpytz
это уже было написано для вас.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
источник
import datetime
Текущая дата и время
print(datetime.datetime.now()) #2019-09-08 09:12:12.473393
Только текущая дата
print(datetime.date.today()) #2019-09-08
Только текущий год
print(datetime.date.today().year) #2019
Только текущий месяц
print(datetime.date.today().month) #9
Только текущий день
print(datetime.date.today().day) #8
источник
Другой способ получить время в формате UTC с миллисекундами.
from datetime import datetime datetime.utcnow().isoformat(sep='T', timespec='milliseconds') + 'Z' 2020-10-29T14:46:37.655Z
источник
Связанная информация, к вопросу ...
В django используйте
timezone.now()
для поля datetime, поскольку django поддерживает часовой пояс , он просто возвращает datetime на основеUSE TZ
настроек или просто объекты datetime с учетом часового поясаДля справки у меня есть
TIME_ZONE = 'Asia/Kolkata'
иUSE_TZ = True
,from django.utils import timezone import datetime print(timezone.now()) # The UTC time print(timezone.localtime()) # timezone specified time, print(datetime.datetime.now()) # default local time # output 2020-12-11 09:13:32.430605+00:00 2020-12-11 14:43:32.430605+05:30 # IST is UTC+5:30 2020-12-11 14:43:32.510659
обратитесь к настройкам часового пояса и интернационализации и локализации в django docs для получения более подробной информации.
источник