Dateutil的timedelta
對象似乎有一個自定義的__str__
方法:如何將timedelta轉換爲字符串,然後再返回
In [1]: from datetime import timedelta
In [2]: td = timedelta(hours=2)
In [3]: str(td)
Out[3]: '2:00:00'
我希望做的是重新創建它的字符串表示timedelta
對象。據我所知道的,但是,datetime.parser.parse
方法將總是返回datetime.datetime
對象(參見https://dateutil.readthedocs.io/en/stable/parser.html):
In [4]: import dateutil.parser
In [5]: dateutil.parser.parse(str(td))
Out[5]: datetime.datetime(2016, 11, 25, 2, 0)
我看現在做到這一點的唯一方法是,在Convert a timedelta to days, hours and minutes的說法,「破壞一些令人討厭的簡單(但是冗長)的數學「以獲得秒,分鐘,小時等,並且將這些返回到新的timedelta
的__init__
。或者有可能是一種更簡單的方法?
謝謝,但我寧願將表示形式作爲人類可讀字符串而不是字節序列。 –