나는 사용하고있다 :
str(datetime.datetime.today()).split()[0]
오늘 날짜를 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.datetime.today().strftime('%Y-%m-%d-%H:%M:%S')
time.strftime("%Y-%m-%d")
?
datetime.utcnow().strftime('%Y-%m-%d')
date
있습니다datetime
datetime.date.today()
결과 datetime.date
객체를 사용하여 문자열 로 변환 할 수 있습니다 .
from datetime import date
today = str(date.today())
print(today) # '2017-12-26'
/
? 로 변경할 수 있습니까?
date.today().strftime('%Y/%m/%d')
.
'DMY', 세퍼레이터로 /
하는 M/D/Y
세퍼레이터 -
로이 Y-M-D
. 모든 사람이이 지침을 따르지는 않지만 모든 사람이로 전환하지 않는 한 국제적으로 날짜를 읽는 데 도움이됩니다 Y-M-D
.
재미있는 코드를 기억하고 싶다면 Datetime이 정말 좋습니다. 단순성을 선호하지 않습니까?
>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'
이 모듈은 당신이 의미 하는 바를 이해하기에 충분히 영리합니다 .
그냥하세요 pip install arrow
.
부록 :이 답변을 연습 한 사람들에게 화살표는 파이썬에서 날짜를 다루는 다른 방법 중 하나를 나타냅니다 . 그것이 주로 제가 제안하고자하는 것입니다.
print(date.today())
>> "2018-12-16" 보다 더 나은 가요? lol int 값을 쉽게 얻을 수 있습니다 t.year,t.month,t.day+1
>> (2018, 12, 17) t = date.today()
사람들이 시간을 알리기 위해 녹색 화살표를 호출 할 필요가 없습니다. 오, 이것이 기억하기에는 너무 많은 코드입니다 ...
import datetime
다른 import arrow
? 물론 내장되어 있지만 arrow
더 편리한 형식을 제공 한다면 왜 사용하지 않습니까?
arrow
됩니까? 그러나 많은 간단한 프로젝트의 경우에는 불필요합니다. 또한 많은 회사 내부 프로젝트에서 ppl은 새 라이브러리 포함에 대한 승인을 받아야합니다.
다른 답변은 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'
str(date.today())
더 낫다
나는 이것이 간단하지만 어쨌든 비효율적이며 버그가 있기 때문에 이것을 선호합니다. 강력한 오류 방지 프로그램 을 원한다면 shell 명령의 종료 코드를 확인해야합니다 .
os.system('date +%Y-%m-%d')