2013-08-07 5 views
1

날짜와 월을 두 자리 숫자로 인쇄하려고합니다.파이썬의 두 자리 날짜

timestamp = date.today() 
difference = timestamp - datetime.timedelta(localkeydays) 
localexpiry = '%s%s%s' % (difference.year, difference.month, difference.day) 
print localexpiry 

출력 결과는 201387입니다. 어쨌든 출력을 20130807으로 가져올 수 있습니다. 이것은 비슷한 형식의 문자열과 비교하기 때문입니다. date.strftime()

답변

4

사용 날짜 형식 :

difference.strftime('%Y%m%d') 

데모 :

>>> from datetime import date 
>>> difference = date.today() 
>>> difference.strftime('%Y%m%d') 
'20130807' 

당신은 date 개체의 별도의 정수 부분과 동일 할 수 있지만 서식 올바른 문자열을 사용합니다 매개 변수; , 0을 선두에 추가해, 2 자리수의 정수를 포맷 %02d을 사용하여, 예를 들어합니다 :

localexpiry = '%04d%02d%02d' % (difference.year, difference.month, difference.day) 

하지만 date.strftime()을 사용하는 것이 더 효율적입니다.

1

또한 format (datetime, date이 __format__ 방법을) 사용할 수 있습니다

>>> import datetime 
>>> dt = datetime.date.today() 
>>> '{:%Y%m%d}'.format(dt) 
'20130807' 
>>> format(dt, '%Y%m%d') 
'20130807' 
+0

그것은 파이썬에서 같은 목적을 달성하기 때문에 여러 가지가 있다는 것을 놀라워. 진실로 마음을 울리는 – rahuL