Python 演示时间算术运算程序
进行时间值的数学运算的过程称为时间算术。添加或减去时间段、确定两个时间值之间的差异或确定一组时间值的平均值是时间算术的几个示例。一些应用程序用于演示时间算术,如时间跟踪、数据分析和时间安排。在Python中,我们有内置的时间函数,即strptime()和divmod(),可以用来演示时间算术。有两种时间格式,即12小时制和24小时制。
让我们来看一个示例,了解两个不同时间的持续时间。
在12小时制下的两个不同时间的持续时间为-
12:14:11 PM – 08:08:20 AM之间的时间差为19小时,54分钟和9秒。
在24小时制下的两个不同时间的持续时间为-
13:14:11 – 17:15:12 = 1 hours, 42 minutes, and 56 seconds.
让我们来看一下如何计算时间算术。
语法
下面的示例中使用的语法是:
strptime( 'Time_format_in_12_hours', '%I:%M:%S %p' )
Python中的strptime方法用于设置时间格式。以下是12小时制时间格式的表示:
- %I - 小时
-
%M - 分钟
-
%S - 秒
-
%p - 上午/下午
strptime( 'Time_format_in_24_hours', '%H:%M:%S' )
这是24小时制的时间格式,以下是对应的表示:
- %H - 小时
-
%M - 分钟
-
%S - 秒
divmod( r, q )
divmod()是Python中的一个预定义方法,它接受两个参数-
- r - r代表余数。
-
q - q代表商。
示例1
在下面的示例中,我们将从Python中导入datetime模块来启动程序。然后,我们初始化两个变量,即 time1 和 time2 ,它们定义了12小时制的时间格式。然后,通过减去两个不同的时间来找到时间持续时间,并将其存储在变量 Total_duration 中。接下来,我们使用预定义的方法 divmod() 将时间持续时间除以3600,并创建两个变量 hrs 和 mint 。然后,我们创建两个合在一起的变量 mint 和 sec ,以计算准确的分钟和秒数。最后,我们使用变量 hrs 、 mint 和 sec 来打印变量。
from datetime import datetime
time1 = datetime.strptime( "12:11:14am", "%I:%M:%S%p" )
time2 = datetime.strptime( "8:09:30pm", "%I:%M:%S%p" )
Total_duration = time2 - time1
hrs, rem = divmod( Total_duration.seconds, 3600 )
mint, sec = divmod( rem, 60 )
print( f"The time duration of 12 hours format: {Total_duration.days} days, {hrs} hours, {mint} minutes, {sec} seconds" )
输出
The time duration of 12 hours format: 0 days, 19 hours, 58 minutes, 16 seconds
示例2
在下面的示例中,我们将通过在Python中导入 datetime 模块来启动时间算术程序。然后,我们使用 ‘time1’ 和 ‘time2’ 两个变量来定义时间格式,使用 ‘strptime()’ 方法。然后,我们减去这两个时间,即 time2 – time1,得到时间的持续时间,并将其存储在变量 ‘difference’ 中。最后,我们通过变量 ‘difference’ 打印结果。
#time arithmetic
from datetime import datetime
# 12hours format
time1 = datetime.strptime( '12:36:56 PM', '%I:%M:%S %p' )
time2 = datetime.strptime( '8:04:22 AM', '%I:%M:%S %p' )
difference = time1 - time2
print('Time difference in 12-hour format:', difference)
# 24hours format
time1 = datetime.strptime( '23:39:16', '%H:%M:%S' )
time2 = datetime.strptime( '13:52:21', '%H:%M:%S' )
difference1 = time1 - time2
print( 'Time difference in 24-hour format:', difference1 )
输出
Time difference in 12-hour format: 4:32:34
Time difference in 24-hour format: 9:46:55
结论
我们理解了这两个示例之间的差异。我们看到strptime()方法设置了两种不同的时间格式,即12小时制和24小时制。为了计算两个时间的持续时间,我们将一个时间减去另一个时间。divmod()方法分别计算分钟和秒的余数和商。因此,通过这种方式我们展示了时间的算术运算。