2013-05-20 2 views
0

내 데이터베이스에서 다음 형식으로 날짜 시간을 저장합니다. 몇 초 안에 두 샘플의 차이를 얻고 싶습니다. 어떤 간단한 방법도 사용할 수 있습니까?어떻게 두 날짜 시간의 차이를 계산

u'2013-05-20 05:09:06' 
    u'2013-05-20 05:10:06' 

답변

5

datetime 모듈을 사용하십시오. 시간

>>> import datetime 
>>> start = datetime.datetime.strptime(u'2013-05-20 05:09:06', '%Y-%m-%d %H:%M:%S') 
>>> end = datetime.datetime.strptime(u'2013-05-20 05:10:06', '%Y-%m-%d %H:%M:%S') 
>>> (end - start).total_seconds() 
60.0 
+0

감사합니다. @Lennart 어떻게 초 차이를 얻을 수 있습니까? – Hacker

+1

@Hacker : Updated. 설명서를 읽으십시오. ;-) –

0

은 DATEDIFF (HH,/02/2013 0시 0분 0초 '02 ','2013년 2월 2일 1시 2분 2초 ') 분

선택 DATEDIFF를 선택 (mi, '02/02/2013 00:00:00 ','02/02/2013 01:02:02 ')

초 동안 선택 datediff (ss, '02/02/2013 00:00 : 00 ','02/02/2013 01:02:02 ')

일 선택 datediff (dd, '02/02/2013 00:00:00', '02/03/2013 01 : 0 2시 2분 '달 DATEDIFF 선택 용)

(mm/2,013 0시 0분 0초 '02/02'년 은 '2013년 3월 3일 1시 2분 2초')

(전년 동기 대비, '02/2,013 0시 0분 0초/02 ','2014년 3월 3일 1시 2분 2초 ')

이이

0

당신은 단순히 두 개의 날짜 객체를 뺄 수 시도하고 얻을 DATEDIFF 선택 차이를 datetime.timedeleta (days, seconds, microseconds)로 저장하는 datetime.timedelta 객체.

따라서, 예를 들어, 당신은 할 수

>>>difference = second_date - first_date 
>>>difference 
datetime.timedelta(0, 60) 

초 datetime.timedelta(). 초 간단하게 액세스 할 수 있습니다

>>>difference.seconds 
60 
0

당신은 단순히 delta.total_seconds()를 사용 py2.7를 사용하는 경우

>>> s = datetime(2013, 05, 20, 5, 9, 6) 
>>> t = datetime(2013, 05, 21, 6, 29, 30) 
>>> u = t - s 
>>> u.seconds 
4824 
>>> u.total_seconds() 
91224.0 

이전 버전의 경우 시간 부분을 별도로 추가해야합니다.

관련 문제