파이썬에서 현재 시간을 밀리 초 단위로 얻으시겠습니까?
파이썬에서 현재 시간을 밀리 초 단위로 얻을 수 있습니까?
내가 필요로 한 것은 위의 @samplebias 의견에 따라 내가 한 일입니다.
import time
millis = int(round(time.time() * 1000))
print millis
간단합니다. 고마워, 뇌 방귀 미안.
재사용을 위해 :
import time
current_milli_time = lambda: int(round(time.time() * 1000))
그때:
>>> current_milli_time()
1378761833768
time.time()
밀리 초에 대한 선호되는 접근 방식은 초입니다 datetime
.
from datetime import datetime
dt = datetime.now()
dt.microsecond
def TimestampMillisec64():
return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000)
버전 3.7 부터는 time.time_ns()
신기원에서 나노초가지나면서 시간을 얻는 데 사용할 수 있습니다 . 그래서 당신은 할 수 있습니다
ms = time.time_ns() // 1000000
정수로 밀리 초 단위로 시간을 얻습니다.
또 다른 해결책은 자신의 utils.py에 포함시킬 수있는 기능입니다.
import time as time_ #make sure we don't override time
def millis():
return int(round(time_.time() * 1000))
샘플 코드 만 :
import time
timestamp = int(time.time()*1000.0)
출력 : 1534343781311
날짜 시간과 함께 밀리 초를 반환하는 간단한 방법을 코드에 원한다면 :
from datetime import datetime
from datetime import timedelta
start_time = datetime.now()
# returns the elapsed milliseconds since the start of the program
def millis():
dt = datetime.now() - start_time
ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0
return ms
현재 UTC 시간을 밀리 초 단위로 얻는 가장 간단한 방법은 다음과 같습니다.
# timeutil.py
import datetime
def get_epochtime_ms():
return round(datetime.datetime.utcnow().timestamp() * 1000)
# sample.py
import timeutil
timeutil.get_epochtime_ms()
밀리 초 동안 1000에 대한 이러한 곱셈은 일부 전제 조건을 해결하거나 수용하기에 적당 할 수 있습니다. 실제로 사용하지 않는 데이터베이스의 간격을 채우는 데 사용할 수 있습니다. 그러나 정확한 타이밍이 필요한 실제 상황에서는 결국 실패합니다. 나는 누군가가 특정 시간에 조치를 취하거나 처리 해야하는 미션 크리티컬 작업 에이 방법을 사용하도록 제안하지 않습니다.
예를 들어, 미국에서 왕복 핑은 30-80ms입니다 ... 그냥 반올림하여 효율적으로 사용할 수는 없습니다.
내 예제에는 매초마다 작업이 필요합니다. 즉, 첫 번째 작업이 응답 한 후 반올림하면 처리 시간에 모든 메인 루프 사이클이 곱해집니다. 결국 60 초마다 총 함수 호출이 발생했습니다. 그것은 ~ 1440 하루입니다. 너무 정확하지 않습니다.
실제로 사용하지 않는 데이터베이스 격차를 해결하는 것보다 더 정확한 추론을 찾는 사람들을위한 생각입니다.
경과 시간 측정이 걱정된다면 단조로운 시계 (python 3)를 사용해야합니다 . 예를 들어 NTP 쿼리가 시스템 시간을 조정 한 경우와 같이이 시계는 시스템 시계 업데이트의 영향을받지 않습니다.
>>> import time
>>> millis = round(time.monotonic() * 1000)
경과 시간을 측정하기 위해 나중에 비교하는 데 사용할 수있는 기준 시간 (초)을 제공합니다.
날짜 / 시간 가져 오기 날짜 / 시간 d = datetime.now () d. 마이크로 초 / 1000 + d. 초 * 1000 인쇄
마이크로 초는 1 ⁄ 1000000 초이고, 밀리 초는 1 ⁄ 1000 초입니다.
dt.microseconds/1000.0
해야한다 dt.microseconds/1000000.0
참고 URL : https://stackoverflow.com/questions/5998245/get-current-time-in-milliseconds-in-python
'development' 카테고리의 다른 글
Confluence에서 인라인 코드를 포맷하는 방법은 무엇입니까? (0) | 2020.02.16 |
---|---|
Hi / Lo 알고리즘은 무엇입니까? (0) | 2020.02.16 |
캐리지 리턴, 줄 바꿈 및 용지 공급이란 무엇입니까? (0) | 2020.02.16 |
PowerShell에서 명령 줄 인수를 처리하는 방법 (0) | 2020.02.16 |
긴 형식을 지정하는 printf의 주장은 무엇입니까? (0) | 2020.02.16 |