【Python】【模块】精讲处理日期和时间的标准库(datetime、time、timeit)

1. datetime模块

在Python中,datetime模块是处理日期和时间的标准库。以下是一些使用datetime模块的常见示例代码:

1、获取当前日期和时间:

from datetime import datetime
 
now = datetime.now()
print(now)

2、创建指定日期和时间:

from datetime import datetime
 
specified_time = datetime(2023, 3, 15, 12, 45, 30)  # 年,月,日,小时,分钟,秒
print(specified_time)

3、日期时间的运算:

from datetime import datetime, timedelta
 
now = datetime.now()

# 加上一个时间间隔

one_day_later = now + timedelta(days=1)

# 减去一个时间间隔
one_day_ago = now - timedelta(days=1)
 
print(one_day_later)
print(one_day_ago)

4、日期时间的格式化输出:

from datetime import datetime
 
now = datetime.now()
# 格式化输出
formatted_time = now.strftime('%Y-%m-%d %H:%M:%S')
print(formatted_time)

5、解析字符串为日期时间:

from datetime import datetime
 
str_time = '2023-03-15 12:45:30' 
# 解析字符串
parsed_time = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
print(parsed_time)

这些代码片段展示了如何使用Python的datetime模块进行基本的日期和时间操作。

除了使用 datetime 模块,Python 中还有其他内置模块可以用来计算时间差精确到秒,常见的有 timetimeit 模块。

2. 使用 time 模块

time 模块中的 time.time() 返回当前的时间戳,以秒为单位。这可以用来计算两个时间点之间的时间差。

示例代码:
import time

# 记录开始时间
start_time = time.time()

# 模拟一些延时操作
time.sleep(2)

# 记录结束时间
end_time = time.time()

# 计算时间差
time_difference = end_time - start_time
print(f"Time difference: {time_difference} seconds")

3. 使用 timeit 模块

timeit 模块用于测量小段代码的执行时间,适合精确测量操作的时间差(尤其是用于测试代码的性能)。它可以精确到亚秒级别。

示例代码:
import timeit

# 定义要测量的代码段
code_to_test = '''
sum = 0
for i in range(1000):
    sum += i
'''

# 使用timeit测量执行时间
execution_time = timeit.timeit(code_to_test, number=1)
print(f"Execution time: {execution_time} seconds")

4. 使用 perf_counter 函数

Python 3.3 引入了 time.perf_counter(),它是一个高精度计时器,适合用于测量较小的时间间隔,精度高于 time.time()

示例代码:
import time

# 记录开始时间
start_time = time.perf_counter()

# 模拟一些延时操作
time.sleep(2)

# 记录结束时间
end_time = time.perf_counter()

# 计算时间差
time_difference = end_time - start_time
print(f"Time difference: {time_difference} seconds")

总结

  • time.time():可以用于获取当前时间戳,适合一般的时间差计算。
  • timeit 模块:更适合用于性能测试,提供高精度时间测量。
  • time.perf_counter():是精度更高的计时器,适合用于小时间间隔的测量。

根据需要选择合适的工具即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风云说通信

支持小编为您创造更多干货,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值