Python基础学习之time模块

ops/2025/2/12 17:41:47/

在Python编程中,处理时间是一项常见的任务。无论是记录程序的执行时间,还是进行日期和时间的计算,Python的内置time模块都为我们提供了强大的支持。本文将带你深入了解time模块,并学会如何使用它来执行各种时间相关的操作。

一、导入time模块

要使用time模块,首先需要将其导入到你的Python程序中。这可以通过以下简单的代码行来完成:

import time

二、获取当前时间

time模块提供了多种函数来获取当前的时间。

  • time.time(): 返回当前时间的时间戳(从1970年1月1日00:00:00 UTC到现在的秒数)。
  • time.localtime(): 返回一个表示协调世界时(UTC)的当前本地时间和日期的time.struct_time对象。
  • time.ctime(): 返回当前本地时间的字符串表示形式,如“Wed Jun 30 21:49:08 2023\n”。

示例:

# 获取当前时间戳  
timestamp = time.time()  
print(timestamp)  # 获取当前本地时间的time.struct_time对象  
local_time = time.localtime()  
print(local_time)  # 获取当前本地时间的字符串表示形式  
current_time_str = time.ctime()  
print(current_time_str)

 

三、时间格式化与解析

time模块还提供了函数来进行时间的格式化和解析。

  • time.strftime(format, p_tuple=None): 将一个time.struct_time对象格式化为字符串。
  • time.strptime(string, format): 将字符串解析为time.struct_time对象。

示例:

# 格式化时间  
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)  
print(formatted_time)  # 解析时间字符串  
time_tuple = time.strptime("2023-06-30 21:49:08", "%Y-%m-%d %H:%M:%S")  
print(time_tuple)

 

四、时间运算

虽然time模块本身不直接提供时间运算的函数,但你可以通过时间戳来进行时间的加减运算。

示例:

# 假设我们要在当前时间上加一个小时  
future_timestamp = time.time() + 3600  # 3600秒等于一小时  
future_time = time.localtime(future_timestamp)  
print(time.strftime("%Y-%m-%d %H:%M:%S", future_time))

 

五、睡眠与计时

time模块还提供了两个与时间流逝相关的函数。

  • time.sleep(secs): 使程序暂停指定的秒数。
  • time.perf_counter(): 返回一个性能计数器,用于测量短时间间隔。

示例:

# 让程序暂停5秒  
time.sleep(5)  # 计时器示例  
start_time = time.perf_counter()  
# 这里执行一些耗时的操作  
# ...  
end_time = time.perf_counter()  
elapsed_time = end_time - start_time  
print(f"操作耗时:{elapsed_time:.2f}秒")

 

六、总结

Python的time模块为我们提供了丰富的时间处理功能。从获取当前时间、时间格式化与解析,到时间运算和睡眠与计时,time模块都能满足我们大部分的时间处理需求。掌握这些功能,将有助于我们在编程中更加精确地控制时间,提高程序的效率和准确性。


http://www.ppmy.cn/ops/36496.html

相关文章

嵌入式实时操作系统在工业领域的应用

嵌入式实时操作系统是面向嵌入式系统的、保证在一定时间限制内完成各种程序的执行并提供资源分配、调度、输入输出控制以及数据管理等服务的软件。嵌入式实时操作系统一般包含核心功能和扩展功能,核心功能主要包含任务管理、任务同步与通信、时钟/定时器管理和中断异…

如何做好一个活动策划?

活动策划的关键要素是什么? 首先,要明确一个概念:做活动就是走钢丝,没有保险的高空走钢丝!因为,活动没有“彩排”,只有现场"直播”! 无论什么类型的活动,人数是50人还是2000人,也不论预算…

windows安装多个版本mysql

引用:https://blog.csdn.net/lxb18711871497/article/details/124593602 下载地址:https://downloads.mysql.com/archives/community/ 先停止之前的mysql服务 自己编写my.ini. ,注意端口是3307,要创建自己的data目录 [mysqld] #端口号 port 3307 #my…

大历史下的 tcp:一个松弛的传输协议

如果 tcp 是一个相对松弛的协议,会发生什么。 所谓松弛感,意思是它允许 “漏洞”,允许可靠传输的不封闭,大致就是:“不求 100% 可靠,只要 90%(或多或少) 可靠,另外 10% 的错误可检测到” or “…

Ansible

一、Ansible 1.1 Ansible定义 Ansible是一个基于Python开发的配置管理和应用部署工具,它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。 Ansible是基于模…

@mixins混用样式:示例:修改el-select里面的滚动条样式

项目场景: 使用混入样式修改el-select下拉菜单里面的滚动条样式 解决方案: // 混入-滚动条样式 mixin scroll-css {&::-webkit-scrollbar-track-piece {background: red;}&::-webkit-scrollbar {width: 6px;}&::-webkit-scrollbar-thumb {b…

【Unity】如何获得两个List各自的补集

【背景】 在项目中需要处理这样的逻辑,将所有活跃客户端的IP地址形成一个IP地址列表,与项目中已经生成按钮实例的IP按钮进行比照,如果某一个IP处于活跃状态,但是并未生成实例按钮,那么就生成实例。如果一个按钮的IP地址不存在于当前的IP地址列表中,则需要销毁这个Button…

VBA提取Excel工作表名称

怎样将Excel所有工作表名称提取出来,便于以后修改、删除工作表?VBA代码能快速处理。 1、同一工作薄内所有工作表名称,提取到指定工作表的指定位置(如工作表“Sheet1”A列),代码如下: Dim SheetsName As Integer For SheetsName = 1 To Worksheets.Count Sheets("S…