[python] Django에서 각각 현재 날짜와 현재 시간을 얻는 방법은 무엇입니까?

이 수업을 사용할 때 흥미로운 상황을 발견했습니다.

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


답변