Python 程序演示时间运算


对时间值进行数学运算的过程称为时间运算。例如,加减时间间隔、确定两个时间值之间的差值或确定一组时间值的平均值,这些都是时间运算的例子。一些应用被用来演示时间运算,例如时间跟踪器、数据分析和时间调度。在 Python 中,我们有内置的时间函数,即 strptime() 和 divmod(),可用于演示时间运算。时间格式有两种:12 小时制和 24 小时制。

让我们举一个例子来理解两个不同时间的持续时间。

12 小时制下两个不同时间的持续时间 -

12:14:11PM - 08:08:20AM 的时间差为 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 - AM/PM

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' 中。接下来,我们创建两个变量,名为 'hrs''mint',以计算使用预定义方法 divmod() 将时间持续时间除以 3600 的结果。然后将两个变量 '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 模块开始时间运算程序。然后我们使用 'strptime()' 方法获取两个变量,名为 'time1''time2' 以定义时间格式。然后减去时间,即 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() 方法分别计算分钟和秒的余数和商。因此,通过这种方式,我们演示了时间运算。

更新于: 2023年6月1日

163 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.