如何使用Python计算时间

如何使用Python计算时间,python,datetime,time,Python,Datetime,Time,我想写一个python脚本作为时间计算器 例如: 假设现在的时间是13:05:00 我想再加上1小时23分钟10秒 我想把答案打印出来 如何在Python中实现这一点 如果还涉及日期呢?请查看mx.DateTime,尤其是DateTimeDelta import mx.DateTime d = mx.DateTime.DateTimeDelta(0, 1, 23, 10) x = mx.DateTime.now() + d x.strftime() 请记住,时间实际上是一件非常复杂的事情。闰年

我想写一个python脚本作为时间计算器

例如:

假设现在的时间是13:05:00

我想再加上1小时23分钟10秒

我想把答案打印出来

如何在Python中实现这一点


如果还涉及日期呢?

请查看
mx.DateTime
,尤其是
DateTimeDelta

import mx.DateTime
d = mx.DateTime.DateTimeDelta(0, 1, 23, 10)
x = mx.DateTime.now() + d
x.strftime()
请记住,时间实际上是一件非常复杂的事情。闰年和闰秒只是开始…

看看


python中的datetime类将提供您所需的一切。它支持加法、减法和许多其他操作

设计用于固定时差(例如,1天固定,1个月不固定)


请注意,仅对时间进行加法是没有意义的(但是可以将日期和时间添加到datetime对象中,使用该对象,然后获取时间)。DST是罪魁祸首。例如,12:01am+5小时可以是不同日期的4:01am、5:01am或6:01am。

对于计算日期和时间,有几个选项,但我将以简单的方式编写:

import datetime
import dateutil.relativedelta

# current time
date_and_time = datetime.datetime.now()
date_only = date.today()
time_only = datetime.datetime.now().time()

# calculate date and time
result = date_and_time - datetime.timedelta(hours=26, minutes=25, seconds=10)

# calculate dates: years (-/+)
result = date_only - dateutil.relativedelta.relativedelta(years=10)

# months
result = date_only - dateutil.relativedelta.relativedelta(months=10)

# days
result = date_only - dateutil.relativedelta.relativedelta(days=10)

# calculate time 
result = date_and_time - datetime.timedelta(hours=26, minutes=25, seconds=10)
result.time()

希望能有所帮助

请显示您目前掌握的代码。这可以使用
datetime
模块或
time
模块完成。请查看这些模块并提出具体问题。
>>> import datetime
>>> t = datetime.time(13, 5)
>>> print t
13:05:00
>>> now = datetime.datetime.now()
>>> print now
2009-11-17 13:03:02.227375
>>> print now + datetime.timedelta(hours=1, minutes=23, seconds=10)
2009-11-17 14:26:12.227375
import datetime
import dateutil.relativedelta

# current time
date_and_time = datetime.datetime.now()
date_only = date.today()
time_only = datetime.datetime.now().time()

# calculate date and time
result = date_and_time - datetime.timedelta(hours=26, minutes=25, seconds=10)

# calculate dates: years (-/+)
result = date_only - dateutil.relativedelta.relativedelta(years=10)

# months
result = date_only - dateutil.relativedelta.relativedelta(months=10)

# days
result = date_only - dateutil.relativedelta.relativedelta(days=10)

# calculate time 
result = date_and_time - datetime.timedelta(hours=26, minutes=25, seconds=10)
result.time()