python中time库常用API的使用

Python 中的 time 模块提供了与时间相关的各种函数,可以用于获取当前时间、测量时间间隔、暂停程序执行等。下面是 time 模块的主要功能及其使用方法。

1. 获取当前时间

1.1 time.time()
  • 返回当前时间的时间戳(自 1970 年 1 月 1 日 00:00:00 UTC 开始的秒数)。
  • 常用于计算时间间隔。
import time

# 获取当前时间戳
current_timestamp = time.time()
print(current_timestamp)  # 输出类似于 1631716800.123456
1.2 time.ctime()
  • 将时间戳转换为可读的字符串表示形式。
  • 如果不传入参数,默认使用当前时间。
# 当前时间的可读字符串
current_time_str = time.ctime()
print(current_time_str)  # 输出类似于 'Wed Sep 15 12:34:56 2024'
1.3 time.localtime()
  • 将时间戳转换为当前时区的 struct_time 对象。
  • 如果不传入参数,默认使用当前时间。
# 获取当前本地时间
local_time = time.localtime()
print(local_time)
1.4 time.strftime()
  • 根据指定的格式将 struct_time 对象转换为字符串。
  • 可以自定义时间的输出格式。
# 将当前时间格式化为指定的字符串
local_time = time.localtime()
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', local_time)
print(formatted_time)  # 输出类似于 '2024-09-15 12:34:56'
%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

2. 时间字符串与时间对象的转换

2.1 time.strptime()
  • 将时间字符串解析为 struct_time 对象。
time_str = '2024-09-15 12:34:56'
parsed_time = time.strptime(time_str, '%Y-%m-%d %H:%M:%S')
print(parsed_time)
2.2 time.mktime()
  • struct_time 对象转换为时间戳。
# 将 struct_time 对象转换为时间戳
timestamp = time.mktime(parsed_time)
print(timestamp)

3. 延迟执行

3.1 time.sleep()
  • 让程序暂停执行指定的时间(秒)。
# 暂停程序执行 2 秒
print('Start')
time.sleep(2)
print('End')

4. 计算时间间隔

使用 time.time() 获取时间戳,可以方便地计算两个时间点之间的间隔。

start_time = time.time()
# 模拟一些耗时操作
time.sleep(1.5)
end_time = time.time()

# 计算时间间隔
elapsed_time = end_time - start_time
print(f'Elapsed time: {elapsed_time} seconds')

5. 处理 UTC 时间

5.1 time.gmtime()
  • 将时间戳转换为 UTC 时区的 struct_time 对象。
# 获取当前 UTC 时间
utc_time = time.gmtime()
print(utc_time)

6. struct_time 对象

struct_timetime 模块中用于表示时间的对象,它有以下 9 个属性:

  • tm_year:年份
  • tm_mon:月份(1-12)
  • tm_mday:日期(1-31)
  • tm_hour:小时(0-23)
  • tm_min:分钟(0-59)
  • tm_sec:秒(0-61,包括闰秒)
  • tm_wday:星期(0-6,0 表示周一)
  • tm_yday:一年中的第几天(1-366)
  • tm_isdst:是否为夏令时(-1, 0, 1)

示例

# 使用 time.localtime() 获取当前时间的 struct_time
current_struct_time = time.localtime()
print(f"Year: {current_struct_time.tm_year}")
print(f"Month: {current_struct_time.tm_mon}")
print(f"Day: {current_struct_time.tm_mday}")

7. 总结

time 模块提供了强大的时间处理功能,涵盖了从获取当前时间、格式化时间、解析时间字符串、延迟执行到计算时间间隔等多种操作。对于日常的时间处理任务,如记录日志、计算运行时间、处理时间戳等,time 模块非常实用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值