gpt4 book ai didi

python - 如何将 timedelta 转换为字符串并再次返回

转载 作者:太空狗 更新时间:2023-10-29 21:45:25 40 4
gpt4 key购买 nike

Dateutil 的 timedelta 对象似乎有一个自定义的 __str__ 方法:

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__ .还是有更简单的方法?

最佳答案

使用datetime.strptime将字符串转换为 timedelta。

import datetime

td = datetime.timedelta(hours=2)

# timedelta to string
s = str(td) # 2:00:00

# string to timedelta
t = datetime.datetime.strptime(s,"%H:%M:%S")
td2 = datetime.timedelta(hours=t.hour, minutes=t.minute, seconds=t.second)

关于python - 如何将 timedelta 转换为字符串并再次返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40806730/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com