Wil*_*ams 7 python datetime python-datetime python-dateutil
是否有优雅的转换relativedelta和timedelta?
用例是获取用户输入ISO日期.Python isodate会返回isodate.duration.Duration或者datetime.timedelta.
我们需要的功能relativedelta(根据"datetime.timedelta"和"dateutil.relativedelta.relativedelta"之间的差异,只使用几天? - 它做得更多)所以需要将这两种类型转换为a relativedata.
只需取总数seconds和microseconds,这就是所有timedelta对象存储:
def to_relativedelta(tdelta):
return relativedelta(seconds=int(tdelta.total_seconds()),
microseconds=tdelta.microseconds)
>>> to_relativedelta(timedelta(seconds=0.3))
relativedelta(microseconds=+300000)
>>> to_relativedelta(timedelta(seconds=3))
relativedelta(seconds=+3)
>>> to_relativedelta(timedelta(seconds=300))
relativedelta(minutes=+5)
>>> to_relativedelta(timedelta(seconds=3000000))
relativedelta(days=+34, hours=+17, minutes=+20)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3661 次 |
| 最近记录: |