codememo

Python 날짜에서 두 자리 수의 월 및 일 추출

tipmemo 2023. 6. 27. 22:14
반응형

Python 날짜에서 두 자리 수의 월 및 일 추출

아이소포맷을 사용하여 월과 일을 추출하는 방법이 있습니까?오늘 날짜가 2013년 3월 8일이라고 가정해 보겠습니다.

>>> d = datetime.date.today()
>>> d.month
3
>>> d.day
8

원하는 항목:

>>> d = datetime.date.today()
>>> d.month
03
>>> d.day
08

일이나 월이 한 자릿수인 경우 문장을 작성하고 선행 0을 연결하여 수행할 수 있지만 원하는 것을 자동으로 생성할 수 있는 방법이 있는지 궁금합니다.

이러한 속성의 유형을 확인합니다.

In [1]: import datetime

In [2]: d = datetime.date.today()

In [3]: type(d.month)
Out[3]: <type 'int'>

In [4]: type(d.day)
Out[4]: <type 'int'>

둘 다 정수입니다.그래서 여러분이 원하는 것을 할 수 있는 자동적인 방법은 없습니다.그래서 좁은 의미에서, 당신의 질문에 대한 대답은 아니오입니다.

선행 0을 원한다면 어떤 식으로든 포맷을 해야 합니다.이를 위해 다음과 같은 여러 가지 옵션이 있습니다.

In [5]: '{:02d}'.format(d.month)
Out[5]: '03'

In [6]: '%02d' % d.month
Out[6]: '03'

In [7]: d.strftime('%m')
Out[7]: '03'

In [8]: f'{d.month:02d}'
Out[8]: '03'

문자열 포맷터를 사용하여 정수를 0으로 채울 수 있습니다.C처럼 작동합니다.printf.

>>> d = datetime.date.today()
>>> '%02d' % d.month
'03'

py36용 업데이트: f-string 사용!일반적으로int를 사용할 수 있습니다.d포맷하고 명시적으로 0으로 패드를 넣으라고 말합니다.

 >>> d = datetime.date.today()
 >>> f"{d.month:02d}"
 '07'

그렇지만datetimes는 특수하며 이미 제로 패딩된 특수 포맷터와 함께 제공됩니다.

 >>> f"{d:%d}"  # the day
 '01'
 >>> f"{d:%m}"  # the month
 '07'

언급URL : https://stackoverflow.com/questions/15509345/extracting-double-digit-months-and-days-from-a-python-date

반응형