파이썬에서 오늘 날짜를 가져오는법
from datetime import datetime as dt
today = dt.now().date()
print(today)#실행결과
2019-03-06
형식을 지정해주는 법
- 기호를 넣어보자.
print(today.strftime('%Y. %m. %d.'))#실행결과
2019. 03. 06.
- 영어를 넣어보자.
print(today.strftime('year: %Y month: %m day : %d'))#실행결과
year: 2019 month: 03 day : 06
- 한글을 넣어보자.
$ print(today.strftime('%Y년 %m월 %d일'))#실행결과
Traceback (most recent call last):
File "c:\Users\jeakwon\Desktop\workspace_docx\docx\take_in_request_form.py", line 7, in <module>
print(datetime.datetime.now().date().strftime('%Y년 %m월 %d일'))
UnicodeEncodeError: 'locale' codec can't encode character '\ub144' in position 2: encoding error
실패한다
해결방법
- strftime 인풋 string을 유니코드 인코딩 후 디코딩
- strftime 아웃풋 string 을 인코딩 후 유니코드 디코딩
‘%Y년 %m월 %d일’.encode(‘unicode-escape’).decode()
strftime( ~ ).encode().decode(‘unicode-escape’))
print(
today.strftime(
'%Y년 %m월 %d일'.encode('unicode-escape').decode()
).encode().decode('unicode-escape')
)#실행결과
2019년 03월 06일