[python] 파이썬에서 YYYY-MM-DD로 오늘 날짜를 얻으시겠습니까?

나는 사용하고있다 :

str(datetime.datetime.today()).split()[0]

오늘 날짜를 YYYY-MM-DD형식 으로 반환 합니다.

이것을 달성하는 덜 조잡한 방법이 있습니까?



답변

strftime 을 사용할 수 있습니다 :

from datetime import datetime

datetime.today().strftime('%Y-%m-%d')

또한 마지막에 0, 시간, 분 및 초를 찾는 사람은 ( Gabriel Staples의 의견 )

datetime.today().strftime('%Y-%m-%d-%H:%M:%S')


답변

datetime.date.today()결과 datetime.date객체를 사용하여 문자열 로 변환 할 수 있습니다 .

from datetime import date
today = str(date.today())
print(today)   # '2017-12-26'


답변

재미있는 코드를 기억하고 싶다면 Datetime이 정말 좋습니다. 단순성을 선호하지 않습니까?

>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'

이 모듈은 당신이 의미 하는 바를 이해하기에 충분히 영리합니다 .

그냥하세요 pip install arrow.

부록 :이 답변을 연습 한 사람들에게 화살표는 파이썬에서 날짜를 다루는 다른 방법 중 하나를 나타냅니다 . 그것이 주로 제가 제안하고자하는 것입니다.


답변

나는 항상 isoformat()이것을 위해 기능을 사용합니다 .

from datetime import date
today = date.today().isoformat()
print(today) # '2018-12-05'

표준 형식의 시간이 필요한 경우 datetime 객체에서도 작동합니다.

from datetime import datetime
now = datetime.today().isoformat()
print(now) # '2018-12-05T11:15:55.126382'


답변

다른 답변은 python ‘s 사용을 제안 datetime.datetime하지만 @Bill Bell이 말했듯 datetime이 서비스 또는 더 큰 API 생태계의 일부로 더 간단한 인터페이스 를 제공하는 다른 라이브러리가 있습니다 . 다음은 datetimes매우 간단 하게 작업 할 수있는 두 개의 라이브러리입니다 .

판다

팬더 라이브러리 pd.to_datetime에서 사용할 수 있습니다 . 반환하려는 항목에 따라 다양한 옵션이 있습니다.

import pandas as pd

pd.to_datetime('today')  # pd.to_datetime('now')
# Timestamp('2019-03-27 00:00:10.958567')

파이썬 datetime 객체로서

pd.to_datetime('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 50, 42, 587629)

형식이 지정된 날짜 문자열로

pd.to_datetime('today').isoformat()
# '2019-04-18T04:03:32.493337'

# Or, `strftime` for custom formats.
pd.to_datetime('today').strftime('%Y-%m-%d')
# '2019-03-27'

타임 스탬프에서 날짜 만 얻으려면을 호출하십시오 Timestamp.date.

pd.to_datetime('today').date()
# datetime.date(2019, 3, 27)

이외에도 다음을 사용하여 객체를 to_datetime직접 인스턴스화 할 수 있습니다 Timestamp.

pd.Timestamp('today')  # pd.Timestamp('now')
# Timestamp('2019-04-18 03:43:33.233093')

pd.Timestamp('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 53, 46, 220068)

타임 스탬프 시간대를 인식 시키려면 시간대를 tz인수에 전달하십시오.

pd.Timestamp('now', tz='America/Los_Angeles')
# Timestamp('2019-04-18 03:59:02.647819-0700', tz='America/Los_Angeles')

흔들리는 추

진자 작업을하는 경우 흥미로운 선택이 있습니다. 을 사용하여 now()또는 오늘 날짜를 사용 하여 현재 타임 스탬프를 얻을 수 있습니다 today().

import pendulum

pendulum.now()
# DateTime(2019, 3, 27, 0, 2, 41, 452264, tzinfo=Timezone('America/Los_Angeles'))

pendulum.today()
# DateTime(2019, 3, 27, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))

또한 추가 타임 델타 산술을 수행하지 않고도 tomorrow()또는 yesterday()날짜를 직접 얻을 수도 있습니다 .

pendulum.yesterday()
# DateTime(2019, 3, 26, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))

pendulum.tomorrow()
# DateTime(2019, 3, 28, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))

사용 가능한 다양한 형식화 옵션이 있습니다.

pendulum.now().to_date_string()
# '2019-03-27'

pendulum.now().to_formatted_date_string()
# 'Mar 27, 2019'

pendulum.now().to_day_datetime_string()
# 'Wed, Mar 27, 2019 12:04 AM'


답변

매우 늦은 답변이지만 다음을 사용할 수 있습니다.

import time
today = time.strftime("%Y-%m-%d")
# 2020-02-14


답변

당신이 사용할 수있는,

>>> from datetime import date
>>> date.today().__str__()
'2019-10-05'