timedelta를 총 초수로 변환
나는 시차가 있다.
import time
import datetime
time1 = datetime.datetime.fromtimestamp(time.mktime(time.gmtime()))
...
time2 = datetime.datetime.fromtimestamp(time.mktime(time.gmtime()))
diff = time2 - time1
그러면 경과한 총 초수를 어떻게 찾을 수 있을까요? diff.seconds
일수는 중요하지 않아나는 할 수 있다:
diff.seconds + diff.days * 24 * 3600
이것은 내장된 방법이 있나요?
를 사용합니다.
>>> import datetime
>>> datetime.timedelta(seconds=24*60*60).total_seconds()
86400.0
어떤 식으로든 문제가 있습니다.datetime.datetime.fromtimestamp(time.mktime(time.gmtime()))
표현.
(1) 2개의 인스턴스(instance)의 초단위의 차이만 필요한 경우, 매우 간단한 것은time.time()
그 일을 해냅니다.
(2) 이러한 타임스탬프를 다른 목적으로 사용하고 있는 경우는, 그 결과 전체에 큰 냄새가 나기 때문에, 무엇을 하고 있는지를 고려할 필요가 있습니다.
gmtime()
UTC 단위의 시간 태플을 반환하지만mktime()
는 현지시간으로 시간 태플을 예상하고 있습니다.
저는 표준 TZ가 UTC+10인 호주 멜버른에 있습니다만, 서머타임이 내일 아침까지 유효하기 때문에 UTC+11입니다.아래를 실행했을 때는 현지시간으로 2011-04-02T20:31 이었습니다.UTC는 2011-04-02T09:31이었습니다.
>>> import time, datetime
>>> t1 = time.gmtime()
>>> t2 = time.mktime(t1)
>>> t3 = datetime.datetime.fromtimestamp(t2)
>>> print t0
1301735358.78
>>> print t1
time.struct_time(tm_year=2011, tm_mon=4, tm_mday=2, tm_hour=9, tm_min=31, tm_sec=3, tm_wday=5, tm_yday=92, tm_isdst=0) ### this is UTC
>>> print t2
1301700663.0
>>> print t3
2011-04-02 10:31:03 ### this is UTC+1
>>> tt = time.time(); print tt
1301736663.88
>>> print datetime.datetime.now()
2011-04-02 20:31:03.882000 ### UTC+11, my local time
>>> print datetime.datetime(1970,1,1) + datetime.timedelta(seconds=tt)
2011-04-02 09:31:03.880000 ### UTC
>>> print time.localtime()
time.struct_time(tm_year=2011, tm_mon=4, tm_mday=2, tm_hour=20, tm_min=31, tm_sec=3, tm_wday=5, tm_yday=92, tm_isdst=1) ### UTC+11, my local time
t3, 식 결과는 UTC+1로 UTC+(로컬 DST의 차이)로 표시됩니다.별로 의미가 없어요.를 사용하는 것을 검토해 주십시오.datetime.datetime.utcnow()
이는 DST가 켜지거나 꺼질 때 1시간도 빠르게 진행되지 않으며 보다 정밀도가 향상될 수 있습니다.time.time()
2개의 datetime 객체의 차이를 취득하고 그 차이를 초수로 변환하는 보다 콤팩트한 방법을 다음에 나타냅니다(Python 3x).
from datetime import datetime
time1 = datetime.strftime('18 01 2021', '%d %m %Y')
time2 = datetime.strftime('19 01 2021', '%d %m %Y')
difference = time2 - time1
difference_in_seconds = difference.total_seconds()
mx를 사용할 수 있습니다.Date Time 모듈
import mx.DateTime as mt
t1 = mt.now()
t2 = mt.now()
print int((t2-t1).seconds)
언급URL : https://stackoverflow.com/questions/5522031/convert-timedelta-to-total-seconds
'programing' 카테고리의 다른 글
Python에서 두 목록을 연결하려면 어떻게 해야 하나요? (0) | 2023.02.06 |
---|---|
MySQL RESTRICT와 No ACTION (0) | 2023.02.06 |
팬더 DataFrame에서 열의 값이 최대인 행을 찾습니다. (0) | 2023.02.06 |
정해진 길이에 도달하기 위해 문자열을 패딩할 수 있는 JavaScript 함수가 있나요? (0) | 2023.02.06 |
MySQL 발생 횟수가 2를 초과합니다. (0) | 2023.02.06 |