详解Python常用标准库之时间模块time和datetime
简介
time
和 datetime
是 Python 中常用的时间模块。
time
模块提供了一些操作时间的函数,包括获取当前时间、休眠等功能。datetime
模块提供了更高级的时间处理功能,包括日期和时间的加减、格式化等。
time 模块
时间戳和结构化时间
在 time
模块中,我们会用到两种时间表示方式:时间戳和结构化时间。
- 时间戳:指的是从 1970 年 1 月 1 日凌晨 0 时 0 分 0 秒开始,到现在的秒数。
- 结构化时间:是将时间表示成一个
struct_time
结构体的形式。
以下是用 time()
函数获取时间戳和用 localtime()
函数获取结构化时间的示例代码:
import time
# 获取当前时间戳
timestamp = time.time()
print("当前时间戳:", timestamp)
# 获取当前结构化时间
struct_time = time.localtime()
print("当前结构化时间:", struct_time)
输出结果为:
当前时间戳: 1598450798.9766822
当前结构化时间: time.struct_time(tm_year=2020, tm_mon=8, tm_mday=26, tm_hour=14, tm_min=33, tm_sec=18, tm_wday=2, tm_yday=239, tm_isdst=0)
时间的格式化
我们可以用 strftime()
函数将结构化时间转换为自定义的格式,以下是一个示例:
import time
# 获取当前结构化时间
struct_time = time.localtime()
# 格式化输出
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
print("当前时间(格式化输出):", formatted_time)
输出结果为:
当前时间(格式化输出): 2020-08-26 14:37:32
时间的延迟
在编写一些需要时间控制的程序时,我们经常需要使用延迟函数。time
模块提供了 sleep()
函数,可以使程序暂停指定的秒数。
以下是一个示例代码:
import time
print("开始执行")
time.sleep(3)
print("结束执行")
输出结果为:
开始执行
(程序暂停 3 秒)
结束执行
datetime 模块
时间的加减
在 datetime
模块中,我们可以使用 timedelta
类型表示时间的差值,使用 timedelta()
函数来创建一个 timedelta
对象。timedelta
对象可以进行加减操作,如下面示例代码:
import datetime
# 获取当前时间
current_time = datetime.datetime.now()
# 往后 1 小时
future_time = current_time + datetime.timedelta(hours=1)
print("1 小时后的时间:", future_time)
# 往前 3 天
past_time = current_time - datetime.timedelta(days=3)
print("3 天前的时间:", past_time)
输出结果为:
1 小时后的时间: 2020-08-26 15:49:35.848460
3 天前的时间: 2020-08-23 15:49:35.848460
时间的格式化
同样,也可以使用 strftime()
函数来格式化时间,以下是一个示例:
import datetime
# 获取当前时间
current_time = datetime.datetime.now()
# 格式化输出
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
print("当前时间(格式化输出):", formatted_time)
输出结果为:
当前时间(格式化输出): 2020-08-26 15:52:16
总结
time
和 datetime
模块都是 Python 中常用的时间处理模块,它们提供了丰富的函数和类来满足不同的时间处理需求。我们可以根据具体的应用需求选择合适的模块和函数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python常用标准库之时间模块time和datetime - Python技术站