파이썬에서 "어제"날짜 형식화


232

MMDDYY파이썬 에서이 형식의 "어제"날짜를 찾아야합니다 .

예를 들어 오늘 날짜는 다음과 같이 나타납니다. 111009

오늘은이 작업을 쉽게 수행 할 수 있지만 "어제"에 자동으로 수행하는 데 문제가 있습니다.

답변:


387

사용하다 datetime.timedelta()

>>> from datetime import date, timedelta
>>> yesterday = date.today() - timedelta(days=1)
>>> yesterday.strftime('%m%d%y')
'110909'

1
팬더와 함께 일하는 경우에도 다음을 사용할 수 있습니다.print((pd.to_datetime('Today') - pd.Timedelta('1 days')).strftime('%m%d%y'))
etna

옵션을 검색하는 경우 Pendulum ( pendulum.eustace.io )을 사용할 수도 있습니다 . pendulum.now (). subtract (days = -1) .strftime ( '% m % d % y')
AFD

165
from datetime import datetime, timedelta

yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%m%d%y')

21

이것은 당신이 원하는 것을해야합니다 :

import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days = 1)
print yesterday.strftime("%m%d%y")

1
UTC 오프셋 0 인 사람의 날짜가 시스템 현지 시간대의 날짜보다 더 중요한 이유는 무엇입니까?
Jeffrey Harris

1
나는 내 코드에서 복사하여 데이터베이스 사용시 종종 UTC에 관심을 갖습니다. UTC 항목을 제거했습니다.
Stef November

7

모든 대답은 정확하지만 time delta가 부정적인 인수를 허용 한다고 언급하고 싶습니다 .

>>> from datetime import date, timedelta
>>> yesterday = date.today() + timedelta(days=-1)
>>> print(yesterday.strftime('%m%d%y')) #for python2 remove parentheses 

5

좀 더 국제화하고 국제 표준에 따라 날짜를 정형화 할 수 있습니까? 미국에서는 일반적으로 이상한 일이 아닙니다.

from datetime import datetime, timedelta

yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%Y-%m-%d')

미국에서는 이상한 날짜 형식을 사용하지만 OP는 이상한 형식을 요청했습니다.이 경우에는 ''% m % d % y '입니다.
DaveL17

@ DaveL17, 페어 포인트. 나는이 질문에 걸려 넘어진 미국 이외의 모든 사람들에게 답을 남길 것입니다.
Arvid Bäähiehielm

2

Chris가 제공 한 답변을 확장하려면

날짜를 특정 형식의 변수에 저장하려면 이것이 내가 아는 한 가장 짧고 효과적인 방법입니다

>>> from datetime import date, timedelta                   
>>> yesterday = (date.today() - timedelta(days=1)).strftime('%m%d%y')
>>> yesterday
'020817'

정수로 사용하려는 경우 (유용 할 수 있음)

>>> yesterday = int((date.today() - timedelta(days=1)).strftime('%m%d%y'))
>>> yesterday
20817
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.