Programing

gmtime ()의 시간 + 날짜 출력에서 ​​신기원 이후 초를 얻는 방법은 무엇입니까?

lottogame 2020. 6. 15. 08:20
반응형

gmtime ()의 시간 + 날짜 출력에서 ​​신기원 이후 초를 얻는 방법은 무엇입니까?


gmtime()시간 + 날짜를 넣고 초 수를 얻는 위치 를 어떻게 반대로 합니까?

와 같은 문자열 'Jul 9, 2009 @ 20:02:58 UTC'이 있으며 신기원과 2009 년 7 월 9 일 사이의 시간 (초)을 되찾고 싶습니다.

시도 time.strftime했지만 제대로 사용하는 방법 또는 올바른 명령인지 잘 모르겠습니다.


당신은 원합니다 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타임 스탬프 매핑 01970-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.gmtimecalendar.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)

datetime — 기본 날짜 및 시간 유형 :

시간 모듈과 달리 날짜 시간 모듈은 윤초를 지원하지 않습니다.


t = datetime.strptime('Jul 9, 2009 @ 20:02:58 UTC',"%b %d, %Y @ %H:%M:%S %Z")

원래 타임 스탬프에 따라 두 가지 방법이 있습니다.

mktime()timegm()

http://docs.python.org/library/time.html

참고 URL : https://stackoverflow.com/questions/4548684/how-to-get-the-seconds-since-epoch-from-the-time-date-output-of-gmtime

반응형