2009-04-14 7 views

답변

121

그냥 이것에 대해

datetime.datetime.fromtimestamp(ms/1000.0) 
+8

메모 - 파이썬 3에서 (/)는 부동 소수점 나누기를 수행합니다. 정수 나누기를 수행하려면 (//)를 사용하십시오. –

+2

어쨌든 플로트 분할을 실제로 원하지 않습니까? 그렇지 않으면 1 초 미만의 모든 정밀도를 잃게됩니다 (타임 스탬프의 분수 부분에서 유지됨). 잘라 내기없이 ms/1000.0을 사용하는 것이 좋습니다. – Brian

+0

모든 플랫폼이 부분적인 타임 스탬프를 지원하는 것은 아니며 POSIX의 정수를 사용하는 것이 좋습니다. –

5

무엇 타임 스탬프로 변환? 나는 1970 년 전에 날짜를 처리하는에 계산 후에 할 수 있습니다 가정 파이썬 표준 lib에 언급 한 바와 같이 2038

target_date_time_ms = 200000 # or whatever 
    base_datetime = datetime.datetime(1970, 1, 1) 
    delta = datetime.timedelta(0, 0, 0, target_date_time_ms) 
    target_date = base_datetime + delta 

: 타임 스탬프를 벗어나면 ValueError를 인상 할 수

fromtimestamp() 플랫폼에서 지원되는 값 범위는 localtime() 또는 gmtime() 입니다. 이것은 보통 1970 년에 에서 2038 년으로 제한되는 것이 일반적입니다.

+2

당신은'utc_time = datetime (1970, 1, 1) + timedelta (milliseconds = millis)'를 사용할 수 있습니다. – jfs

관련 문제