[python] timedelta값을 실수(real, float) 또는 정수(integer)로 변환
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 "datetime:", diff2
print timedelta2float(diff2)
print timedelta2int(diff2)