[파이썬] 날짜와 시간의 문자열 서식팅

파이썬에서는 날짜와 시간을 다루기 위한 datetime 모듈을 제공합니다. datetime 모듈을 사용하여 날짜와 시간을 문자열로 표현하고 서식팅하는 방법을 알아보겠습니다.

날짜와 시간 객체 만들기

먼저, datetime 모듈에서 제공하는 datetime 클래스를 사용하여 날짜와 시간 객체를 만들어 봅시다. 아래 예제에서는 현재 날짜와 시간을 가져옵니다.

import datetime

now = datetime.datetime.now()
print(now)

결과는 다음과 같습니다.

2021-11-10 12:30:45.789123

날짜와 시간 서식 지정

날짜와 시간을 문자열로 표현할 때, 특정한 서식을 지정할 수 있습니다. 이를 위해서는 strftime 메서드를 사용합니다. strftime 메서드는 다양한 서식 지시자(format directive)를 제공하여 원하는 형태로 날짜와 시간을 표현할 수 있습니다.

formatted_date = now.strftime("%Y-%m-%d")
formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)
print(formatted_datetime)

위 코드의 결과는 다음과 같습니다.

2021-11-10
2021-11-10 12:30:45

위 예제에서 사용된 서식 지시자의 의미는 아래와 같습니다.

자세한 서식 지시자 목록은 Python 공식 문서를 참고하시기 바랍니다.

문자열을 날짜와 시간으로 변환

반대로, 문자열을 파싱하여 datetime 객체로 변환할 수도 있습니다. 이를 위해서는 strptime 메서드를 사용합니다. strptime 메서드의 첫 번째 인자로 변환할 문자열을, 두 번째 인자로 해당 문자열의 형식을 지정합니다.

date_string = "2021-11-10"
datetime_string = "2021-11-10 12:30:45"

parsed_date = datetime.datetime.strptime(date_string, "%Y-%m-%d")
parsed_datetime = datetime.datetime.strptime(datetime_string, "%Y-%m-%d %H:%M:%S")
print(parsed_date)
print(parsed_datetime)

위 코드의 출력은 다음과 같습니다.

2021-11-10 00:00:00
2021-11-10 12:30:45

strptime 메서드는 문자열을 파싱하여 datetime 객체로 변환하지만, 입력된 문자열이 올바른 형식이어야 합니다. 그렇지 않으면 ValueError가 발생할 수 있으므로, 문자열 형식 검증에 주의해야 합니다.

날짜와 시간의 문자열 서식팅은 파이썬에서 많이 사용되는 작업 중 하나입니다. datetime 모듈의 strftimestrptime 메서드를 잘 활용하여 날짜와 시간을 원하는 형태로 표현하고 변환할 수 있습니다.