gmtime()
시간 + 날짜를 넣고 초 수를 얻는 위치 를 어떻게 반대로 합니까?
와 같은 문자열 'Jul 9, 2009 @ 20:02:58 UTC'
이 있으며 신기원과 2009 년 7 월 9 일 사이의 시간 (초)을 되찾고 싶습니다.
시도 time.strftime
했지만 올바르게 사용하는 방법 또는 올바른 명령인지 잘 모르겠습니다.
답변
검색 엔진이 유닉스 타임 스탬프를 얻는 방법이라고 말했기 때문에 여기에 오 셨다면이 답변 읽기를 중단하십시오. 아래로 스크롤하십시오.
당신이 반전하고 싶다면 time.gmtime()
, 당신은 원한다 calendar.timegm()
.
>>> calendar.timegm(time.gmtime())
1293581619.0
을 사용하여 문자열을 time.strptime()
시간 튜플로 바꿀 수 있습니다 calendar.timegm()
.
>>> import calendar
>>> import time
>>> calendar.timegm(time.strptime('Jul 9, 2009 @ 20:02:58 UTC', '%b %d, %Y @ %H:%M:%S UTC'))
1247169778
캘린더 모듈에 대한 자세한 내용은 여기를 참조하십시오.
답변
시간 모듈을 사용하십시오 .
epoch_time = int(time.time())
답변
참고 time.gmtime
타임 스탬프 매핑 0
에 1970-1-1 00:00:00
.
In [61]: import time
In [63]: time.gmtime(0)
Out[63]: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
time.mktime(time.gmtime(0))
로케일에 따라 달라지는 시간 소인이 표시되며 일반적으로 0이 아닐 수 있습니다.
In [64]: time.mktime(time.gmtime(0))
Out[64]: 18000.0
반대의 time.gmtime
는 calendar.timegm
다음과 같습니다.
In [62]: import calendar
In [65]: calendar.timegm(time.gmtime(0))
Out[65]: 0
답변
ep = datetime.datetime(1970,1,1,0,0,0)
x = (datetime.datetime.utcnow()- ep).total_seconds()
이것은와 달라야 int(time.time())
하지만 다음과 같은 것을 사용하는 것이 안전합니다x % (60*60*24)
시간 모듈과 달리 날짜 시간 모듈은 윤초를 지원하지 않습니다.
답변
t = datetime.strptime('Jul 9, 2009 @ 20:02:58 UTC',"%b %d, %Y @ %H:%M:%S %Z")