이 수업을 사용할 때 흥미로운 상황을 발견했습니다.
class Company(models.Model):
date = models.DateField()
time = models.TimeField()
c = Company(date=datetime.datetime.now(), time=datetime.datetime.now())
Django는 types.py 파일에 DATETIME_INPUT_FORMATS
정의 된 것을 사용하기로 결정 합니다. 두 필드 모두에 전달하기 때문에 의미가 있습니다.datetime.now()
내가 장고 사용할 수 있도록 수 있다고 생각 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
답변
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
답변
밀리 초로 datetime UTC를 얻는 또 다른 방법입니다.
from datetime import datetime
datetime.utcnow().isoformat(sep='T', timespec='milliseconds') + 'Z'
2020-10-29T14:46:37.655Z