파이썬에서 날짜 형식의 문자열을 타임스탬프로 변환해야 하는 경우가 종종 있습니다. 이럴 때는 time 패키지에서 제공하는 mktime 메서드를 활용하면 간단하게 처리할 수 있습니다.
mktime은 구조화된 시간 정보(struct time)를 받아 유닉스 타임스탬프(1970년 1월 1일부터 경과한 초 단위 시간)로 변환해 주는 함수입니다. 아래 예제를 통해 실제 사용 방법을 살펴보겠습니다.
예제 코드
import time
import datetime
my_string = "24/03/2021"
print("날짜 문자열 :")
print(my_string)
print("변환된 타임스탬프 :")
print(time.mktime(datetime.datetime.strptime(my_string, "%d/%m/%Y").timetuple()))실행 결과
날짜 문자열 : 24/03/2021 변환된 타임스탬프 : 1616544000.0
코드 설명
먼저
time과datetime패키지를 임포트합니다.날짜 정보가 담긴 문자열을 정의하고 콘솔에 출력합니다.
strptime메서드를 사용하여 문자열을 지정된 형식(%d/%m/%Y, 즉 일/월/년 순서)에 맞게 파싱합니다. 이 과정에서 불필요한 공백이나 기호가 제거되고 날짜 객체가 생성됩니다.timetuple()을 호출해 datetime 객체를 구조화된 시간 객체로 변환한 뒤,time패키지의mktime메서드에 전달하여 타임스탬프 값을 얻습니다.최종 결과가 콘솔에 출력됩니다.
참고 사항
strptime의 형식 지정자는 입력 문자열의 날짜 표기 방식에 따라 조정해야 합니다. 예를 들어 "2021-03-24"와 같은 형식이라면 %Y-%m-%d를 사용해야 합니다. 또한 mktime은 로컬 시간대를 기준으로 동작하므로, UTC 기준 변환이 필요하다면 calendar.timegm()과 같은 대안을 고려하는 것이 좋습니다.