在Python编程语言中,`time`和`datetime`模块提供了处理时间和日期的工具。这篇文章将深入探讨这两个模块的常用方法。 `time`模块主要处理时间戳,它是一个从1970年1月1日(UTC/GMT的午夜)开始所经过的浮点秒数。`time()`函数返回当前时间的时间戳。例如: ```python print(time.time()) ``` 将打印出一个浮点数,代表从1970年以来的秒数。为了得到整数时间戳,可以使用`int(time.time())`。`strftime()`函数则用于将时间戳或时间元组格式化为易读的日期和时间字符串: ```python print(time.strftime('%Y-%m-%d %H:%M:%S')) print(time.strftime('%Y-%m-%d')) print(time.strftime('%H:%M:%S')) ``` `gmtime()`函数将时间戳转换为标准时区的时间元组,不考虑本地时区。若传入时间戳,它将转换该时间戳: ```python print(time.gmtime()) print(time.gmtime(1516194265)) ``` `datetime`模块提供了更高级的日期和时间操作。`datetime.datetime.now()`可以获取当前的日期和时间: ```python now1 = datetime.datetime.now() print(now1) ``` 同时,可以使用`strftime()`函数将`datetime`对象格式化: ```python now2 = time.strftime('%Y-%m-%d %H:%M:%S') print(now2) ``` `datetime.timedelta`对象用于表示时间间隔,如小时、天等。你可以通过减去`timedelta`对象来获取过去的时间: ```python d1 = now - datetime.timedelta(hours=1) d2 = now - datetime.timedelta(days=1) print(d1) print(d2) ``` 测量代码执行时间,可以利用`time.time()`在开始和结束时获取时间戳,然后计算差值: ```python s_time = time.time() # 代码执行部分 e_time = time.time() print('代码运行时间是:', e_time - s_time) ``` 时间戳和字符串之间的转换也是常见的需求。`time.mktime()`函数将格式化的日期转换为时间戳,而`time.strptime()`用于解析字符串: ```python str_time = '2018-1-17' print(time.mktime(time.strptime(str_time, '%Y-%m-%d'))) ``` 相反,`time.strftime()`和`time.localtime()`用于将时间戳转换回字符串: ```python gsh_time = time.time() print(time.strftime('%Y-%m-%d', time.localtime(gsh_time))) ``` `datetime`对象与时间戳之间的转换也很简单。`datetime.datetime.now().timetuple()`返回一个时间元组,可被`time.mktime()`接受;而`datetime.datetime.fromtimestamp()`将时间戳转换为`datetime`对象: ```python dt = datetime.datetime.now() print(time.mktime(dt.timetuple())) sjc_time = time.time() print(datetime.datetime.fromtimestamp(sjc_time)) ``` 总结来说,`time`模块提供了基本的时间戳和时间元组操作,而`datetime`模块扩展了这些功能,包括日期、时间的创建、比较和格式化,以及时间间隔的处理。了解并熟练使用这两个模块对于处理任何涉及时间的Python项目都是至关重要的。通过练习和应用这些方法,你将能够更好地管理和操作程序中的日期和时间数据。
- 粉丝: 3
- 资源: 998
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
前往页