为datetime添加秒数

Ann*_* 27 5 python datetime utc

我正在努力为时间戳添加不同的秒数.

我们假设我要添加1136秒2016-12-02 13:26:49.这是我到目前为止:

import datetime

if __name__ == '__main__':
    timestamp = datetime.datetime(year=2016, month=12, day=02, hour=13, minute=26, second=49)
    offset = 1140
    m, s = divmod(offset, 60)
    h, m = divmod(m, 60)
Run Code Online (Sandbox Code Playgroud)

我在另一篇文章中看到类似于我想要的内容,但这不适用于Python.

我应该用datetime.datetime.combine()吗?

我有大量的数据,我不想手动输入每个总和的日期.

预先感谢您的任何帮助.

Wil*_*sem 6

只需添加一个timedeltatimestamp

timestamp = datetime.datetime(year=2016, month=12, day=02, hour=13, minute=26, second=49)
d = datetime.timedelta(seconds=1136)
new_timestamp = timestamp+d
Run Code Online (Sandbox Code Playgroud)

在控制台中运行:

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> timestamp = datetime.datetime(year=2016, month=12, day=02, hour=13, minute=26, second=49)
>>> d = datetime.timedelta(seconds=1136)
>>> new_timestamp = timestamp+d
>>> new_timestamp
datetime.datetime(2016, 12, 2, 13, 45, 45)
Run Code Online (Sandbox Code Playgroud)

因此结果是2016年12月12日 13:45:45。


Mau*_*yer 6

您可以使用timedelta为datetime对象添加秒.

>>> import datetime
>>> now = datetime.datetime.now()
>>> now 
datetime.datetime(2017, 1, 9, 16, 16, 12, 257210)
>>> now + datetime.timedelta(seconds=1136)
datetime.datetime(2017, 1, 9, 16, 22, 12, 257210)
>>> 
Run Code Online (Sandbox Code Playgroud)

  • 或许将秒数修改为"1136",因为这是问题所在(虽然我承认这是一个细节). (2认同)