본문 바로가기
파이썬

파이썬 밀리 초 정밀도로 Unix 타임 스탬프에 대한 datetime

by º기록 2020. 9. 25.
반응형

정말 간단한 작업을하려고합니다. datetime 개체를 3 일 후의 미래로 Unix UTC 타임 스탬프로 변환합니다.

import datetime, time
then = datetime.datetime.now() + datetime.timedelta(days=3)
# Method 1
print then.strftime("%s")
# Method 2
print time.mktime(then.timetuple())
# Method 3 
print time.mktime(then.timetuple()) * 1000

방법 1과 2는 밀리 초가 아닌 단위로 Unix 시간을 제공하고 방법 3은 실제 밀리 초 정밀도없이 밀리 초를 제공합니다.

간단히 다음 을 인쇄하면 datetime.datetime (2011, 11, 19, 15, 16, 8, 278271) 이 표시되므로 정밀도를 사용할 수 있음을 알고 있습니다. 밀리 초. 실제 밀리 초 정밀도로 Unix 타임 스탬프를 어떻게 얻을 수 있습니까? float로 반환되고 int 로 평면화해야한다면 괜찮습니다. 내가 찾고있는 해결책이 있습니까?

 

해결 방법

 

Datetime 객체에는 microsecond 라는 필드가 있습니다. 따라서 필요한 것을 달성하는 한 가지 방법은 다음과 같습니다.

time.mktime(then.timetuple())*1e3 + then.microsecond/1e3

필요한 정밀도로 UNIX epoch 이후 밀리 초를 반환합니다.

 

참조 페이지 https://stackoverflow.com/questions/8160246

 

 

반응형

댓글