Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 DateTime을 정수 밀리초 타임스탬프로 변환하는 방법

파이썬에서는 time 모듈을 사용하여 현재 시간을 밀리초 단위로 손쉽게 구할 수 있습니다. time.time() 함수는 초 단위 시간을 부동소수점(float) 값으로 반환하므로, 이 값을 1000으로 곱한 뒤 반올림하면 밀리초 단위의 정수 타임스탬프를 얻을 수 있습니다.

현재 시간을 밀리초로 구하기

import time
milliseconds = int(round(time.time() * 1000))
print(milliseconds)

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

1514825676008

출력되는 숫자는 1970년 1월 1일(유닉스 에포크)부터 현재까지 경과한 시간을 밀리초 단위로 나타낸 값입니다.

datetime 객체를 밀리초 타임스탬프로 변환하기

특정 날짜와 시간을 담고 있는 datetime 객체를 밀리초 타임스탬프로 변환해야 하는 경우도 있습니다. 이럴 때는 timestamp() 함수를 사용해 초 단위 값을 먼저 구한 후, 앞서 살펴본 것과 동일한 방식으로 1000을 곱하고 반올림하면 됩니다.

import time
from datetime import datetime
dt = datetime(2018, 1, 1)
milliseconds = int(round(dt.timestamp() * 1000))
print(milliseconds)

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

1514745000000

정리

지금까지 살펴본 내용을 요약하면 다음과 같습니다.

  • 현재 시간: int(round(time.time() * 1000))
  • datetime 객체: int(round(dt.timestamp() * 1000))

두 방법 모두 초 단위 값을 1000으로 곱해 밀리초로 변환한다는 동일한 원리를 사용합니다. 로그 기록, 이벤트 시퀀싱, 만료 시간 계산 등 정밀한 시간 처리가 필요한 경우 이 방식을 유용하게 활용할 수 있습니다.