Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将timedelta对象转换为datetime对象_Python_Datetime_Timedelta - Fatal编程技术网

Python 如何将timedelta对象转换为datetime对象

Python 如何将timedelta对象转换为datetime对象,python,datetime,timedelta,Python,Datetime,Timedelta,将timedelta对象转换为datetime对象的正确方法是什么 我立刻想到了类似于datetime(0)+deltaObj的东西,但这不是很好。。。有没有toDateTime()函数或类似的功能?将时间增量转换为日期时间没有意义,但选择初始或起始日期时间并从中添加或减去时间增量是有意义的 >>> import datetime >>> today = datetime.datetime.today() >>> today datetime

将timedelta对象转换为datetime对象的正确方法是什么


我立刻想到了类似于
datetime(0)+deltaObj
的东西,但这不是很好。。。有没有
toDateTime()
函数或类似的功能?

将时间增量转换为日期时间没有意义,但选择初始或起始日期时间并从中添加或减去时间增量是有意义的

>>> import datetime
>>> today = datetime.datetime.today()
>>> today
datetime.datetime(2010, 3, 9, 18, 25, 19, 474362)
>>> today + datetime.timedelta(days=1)
datetime.datetime(2010, 3, 10, 18, 25, 19, 474362)

我发现我可以使用.total_seconds()来创建一个新的时间对象(如果需要,也可以使用datetime对象)

导入时间
导入日期时间
start_dt_obj=datetime.datetime.fromtimestamp(start_timestamp)
stop\u dt\u obj=datetime.datetime.fromtimestamp(stop\u timestamp)
delta=停止\u dt\u obj-启动\u dt\u obj
delta_as_time_obj=time.gmtime(delta.total_seconds())
这允许您执行以下操作:

print('持续时间为{0}'。格式(
time.strftime(“%H:%M”,增量作为时间对象)
)

由于datetime表示一天内的时间,因此时间增量应小于24小时(86400秒),即使时间增量不受此约束

import datetime

seconds = 86399
td = datetime.timedelta(seconds=seconds)
print(td)
dt = datetime.datetime.strptime(str(td), "%H:%M:%S")
print(dt)

23:59:59
1900-01-01 23:59:59
如果您不想要默认日期,并且知道timedelta的日期:

date = "05/15/2020"
dt2 = datetime.datetime.strptime("{} {}".format(date, td), "%m/%d/%Y %H:%M:%S")
print(dt2)

2020-05-15 23:59:59

+1:划时代的日期。3月8日是我女儿的生日,这是一个比3月9日更好的划时代的日期。Unix用户喜欢1970年1月1日。不知道为什么,那不是我女儿的生日。我正在尝试这样做:
period['start_date']=(self.start_date+timedelta(days=roundtrip_component.day-1)).strftime(%d/%m/%Y)
,我得到了这个错误:
TypeError:必须是str,而不是datetime.timedelta
。因此,我想在这种情况下,将timedelta类型更改为date是有意义的。转换timedelta很有意义。我有旅行的开始时间和结束时间,这两种格式都是time delta格式,我正在试图弄清楚为什么以及如何将它们设置为time格式。在phpmyadmin上是正常时间,当我从隧道下载它并在python中使用它时,它们都是timedelta,我不能用它们做任何事情。没有帮助。不要重新定义一个问题,然后回答它。我有一个timedelta,我需要进入datetime,以便格式化它。