Python

[Python] 파이썬 날짜 표현 한글 에러

jolocal 2024. 11. 14. 13:28
728x90

파이썬에서 오늘 날짜를 가져오는 법

from datetime import datetime as dt

today = dt.now().date()
print(today)

-----------------------------------------
# 실행결과
2024-11-14
-----------------------------------------

 

형식을 지정해주는 법

  • 기호
today = dt.now().strftime('%Y. %m. %d.')
print(today)

-----------------------------------------
# 실행결과
2024. 11. 14
-----------------------------------------
  • 영어
today = dt.now().strftime('year: %Y month: %m day: %d')
print(today)

-----------------------------------------
# 실행결과
year: 2024 month: 11 day: 14
-----------------------------------------

 

  • 한글
today = dt.now().strftime('%Y년 %m월 %d일')
print(today)

-----------------------------------------
# 실행결과
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
-----------------------------------------

 

에러가 뜬다.


해결방법

1. `strftime` 인풋 String을 유니코드 인코딩 후 디코딩

2.  `strftime` 아웃풋 String을 인코딩 후 유니코드 디코딩

today = dt.now().strftime('%Y년 %d월 %m일.encode('unicode-escape').decode)
				.encode().decode('unicode-escape')

-----------------------------------------
# 실행결과
2024년 11월 14일
-----------------------------------------

 

 

 

728x90