我们经常要用到时间,像日志log就要记录时间,什么时候做了什么事情;什么时候调用了哪些过程;什么时候返回了错误等等。时间模块里面的一些方法也是经常会用到的,比如游戏要控制时间,如贪吃蛇的移动时间控制,猜一猜游戏控制回答时间等等,我们就从简单开始,时间的基础铺开讲一点基础,掌握下常用的。
常用时间模块
import time # 把需要的模块先导入好,也可以后面需要其他模块时,导入,放在顶部
from datetime import datetime
from datetime import datetime, timedelta
使用time模块
# 获取当前时间戳
timestamp = time.time()#时间戳
# 输出不同格式的时间
print(time.ctime(timestamp)) # 本地时间的可读格式
print(time.asctime(time.localtime(timestamp))) # 本地时间的结构化格式转字符串
print(time.asctime(time.gmtime(timestamp))) # UTC时间的结构化格式转字符串
struct_time = time.localtime()
print(f'结构化时间为{struct_time}')
#使用datetim模块
输出如下
Fri Apr 18 03:02:23 2025
Fri Apr 18 03:02:23 2025
Fri Apr 18 03:02:23 2025
结构化时间为time.struct_time(tm_year=2025, tm_mon=4, tm_mday=18, tm_hour=13, tm_min=15, tm_sec=44, tm_wday=4, tm_yday=108, tm_isdst=0)
运行截图如下
使用datetime模块
str_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") # 字符串时间
print(f'字符串时间{str_time}')
# 获取当前时间
now = datetime.now() # 输出:datetime.datetime(2023, 7, 22, 15, 30, 0, 123456)
print(f'当前时间为{now}')
# 时间戳 → datetime 对象
dt = datetime.fromtimestamp(timestamp) # 本地时间
print(f'当前时间为{dt}')
utc_dt = datetime.utcfromtimestamp(timestamp) # UTC时间
print(f'UTC时间为{utc_dt}')
# datetime → 字符串(自定义格式)
formatted = now.strftime("%Y-%m-%d %H:%M:%S") #
print(f'字符串(自定义格式)时间为{formatted}')
# 字符串 → datetime
dt2 = datetime.strptime("2099-04-18 15:30:00", "%Y-%m-%d %H:%M:%S")
print(f'字符串(自定义格式)时间为{dt2}')
其他基础运用
# 时间计算
future = now + timedelta(days=3, hours=2) # 3天2小时后的时间
#日志记录,带上时间
def log(message):
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"[{timestamp}] {message}")
log("文件合并完成!") # 输出:[2023-07-22 15:30:00] 文件合并完成!
#计算运行时间
start = time.time()
# 执行耗时操作(例如文件合并)
time.sleep(2) # 模拟下耗时操作
end = time.time()
print(f"耗时:{end - start:.2f}秒") # 输出:耗时:2.00秒
#命名的时候带时间
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"data_{timestamp}.txt" # 输出:data_当前时间.txt
就写到这了,有关于时间的运用,后面补充吧