python 및 머신러닝 교육, 슬로우캠퍼스



timedelta값을 실수(real, float) 또는 정수(integer)로 변환(convert)하는 함수 구현.


timedeltas는 시,초,microseonds를 나타내는 attribute를 갖고 있다. 

이들 값에서 구하여야 한다.

초단위 이하의 값에 대해 반올림(반내림)을 하기 위해 round() 함수를 사용한다.




import time

import datetime


def timedelta2float(td):

        res = td.microseconds/float(1000000) + (td.seconds + td.days * 24 * 3600)

        return res


def timedelta2int(td):

        res = round(td.microseconds/float(1000000)) + (td.seconds + td.days * 24 * 3600)

        return res


dateval1 = datetime.datetime.strptime("25-01-2013 00:00:03:238", "%d-%m-%Y %H:%M:%S:%f")

dateval2 = datetime.datetime.strptime("25-01-2013 00:00:03:950", "%d-%m-%Y %H:%M:%S:%f")

dateval3 = datetime.datetime.strptime("25-01-2013 00:01:04:614", "%d-%m-%Y %H:%M:%S:%f")


diff1 = dateval2 - dateval1

diff2 = dateval3 - dateval1

print "datetime:", diff1

print timedelta2float(diff1)

print timedelta2int(diff1)

print


print "datetime:", diff2

print timedelta2float(diff2)

print timedelta2int(diff2)

print




결과:

datetime: 0:00:00.712000
0.712
1.0

datetime: 0:01:01.376000
61.376
61.0


WRITTEN BY
manager@
Data Analysis, Text/Knowledge Mining, Python, Cloud Computing, Platform

,