如何在 python 中对当前时间应用偏移量?
换句话说,能够得到当前时间减去 x 小时和/或减去 m 分钟和/或减去 s 秒和/或减去 ms 毫秒
例如
curent time = 18:26:00.000
offset = 01:10:00.000
=>resulting time = 17:16:00.000
最佳答案
使用 datetime.datetime()
, 然后加或减 datetime.timedelta()
instances .
>>> import datetime
>>> t = datetime.datetime.now()
>>> t - datetime.timedelta(hours=1, minutes=10)
datetime.datetime(2012, 12, 26, 17, 18, 52, 167840)
datetime.time()
对象不支持 timedelta()
算术;如果您需要使用现有 datetime.time()
对象的偏移量,只需使用 datetime.datetime.combine()
来形成 datetime.datetime()
实例,进行计算,然后使用 .time()
方法再次“提取”时间:
>>> t = datetime.time(1, 2)
>>> dt = datetime.datetime.combine(datetime.date.today(), t)
>>> dt
datetime.datetime(2012, 12, 26, 1, 2)
>>> dt -= datetime.timedelta(hours=5)
>>> dt.time()
datetime.time(20, 2)
关于 python 时间偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14043934/