python 将 timedelta 转换为有意义的字符串,例如“1 小时”
python convert timedelta to meaningful string such as "1 hours"
我想将 python timedelta 对象转换为易于阅读的有意义的字符串
例如:
0 1:0:0 -> 1 hours
0 0:5:0. -> 5 minutes
2 0:0:0. ->. 2 days
有什么想法吗?
谢谢
其实timedelta
class,直接给你days
,seconds
,microseconds
属性。但是为了得到“小时”和“分钟”,你可以自己做一些简单的计算。
import datetime
d1 = datetime.datetime(2012, 4, 20, second=10, microsecond=14)
d2 = datetime.datetime(2012, 3, 20, second=8, microsecond=4)
delta = d1 - d2
print(delta)
print(delta.days)
print(delta.seconds)
print(delta.microseconds)
秒除以 60 得到分钟,除以 3600 得到小时
您可能想看看 humanize python 图书馆:
>>> humanize.naturaldelta(dt.timedelta(seconds=1001))
'16 minutes'
我想将 python timedelta 对象转换为易于阅读的有意义的字符串
例如:
0 1:0:0 -> 1 hours
0 0:5:0. -> 5 minutes
2 0:0:0. ->. 2 days
有什么想法吗?
谢谢
其实timedelta
class,直接给你days
,seconds
,microseconds
属性。但是为了得到“小时”和“分钟”,你可以自己做一些简单的计算。
import datetime
d1 = datetime.datetime(2012, 4, 20, second=10, microsecond=14)
d2 = datetime.datetime(2012, 3, 20, second=8, microsecond=4)
delta = d1 - d2
print(delta)
print(delta.days)
print(delta.seconds)
print(delta.microseconds)
秒除以 60 得到分钟,除以 3600 得到小时
您可能想看看 humanize python 图书馆:
>>> humanize.naturaldelta(dt.timedelta(seconds=1001))
'16 minutes'