本文目录导读:

在 Python 中,最常用的时间模块是 time(底层时间戳)和 datetime(面向对象的时间处理),以下是核心的案例和用法。
使用 time 模块(获取时间戳 / 格式化时间)
import time
# 1. 获取当前时间戳(秒)
timestamp = time.time()
print("时间戳:", timestamp) # 输出: 1735628800.123456
# 2. 获取结构化时间(本地时间)
local_time = time.localtime()
print("结构化时间:", local_time)
# 输出: time.struct_time(tm_year=2025, tm_mon=1, tm_mday=1, ...)
# 3. 格式化时间
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("格式化时间:", formatted_time) # 输出: 2025-01-01 12:00:00
# 4. 获取当前时间(简单方式)
current_time = time.ctime()
print("当前时间:", current_time) # 输出: Wed Jan 1 12:00:00 2025
# 5. 获取格林尼治时间
gmt_time = time.gmtime()
print("GMT时间:", time.strftime("%Y-%m-%d %H:%M:%S", gmt_time))
使用 datetime 模块(推荐,更易用)
from datetime import datetime, date, time
# 1. 获取当前日期时间
now = datetime.now()
print("当前日期时间:", now) # 输出: 2025-01-01 12:00:00.123456
# 2. 获取当前日期
today = date.today()
print("当前日期:", today) # 输出: 2025-01-01
# 3. 获取当前时间(时分秒微秒)
current_time = datetime.now().time()
print("当前时间:", current_time) # 输出: 12:00:00.123456
# 4. 格式化输出
formatted = now.strftime("%Y年%m月%d日 %H:%M:%S")
print("自定义格式:", formatted) # 输出: 2025年01月01日 12:00:00
# 5. 单独获取年月日时分秒
print("年:", now.year) # 2025
print("月:", now.month) # 1
print("日:", now.day) # 1
print("时:", now.hour) # 12
print("分:", now.minute) # 0
print("秒:", now.second) # 0
常用格式符号速查表
from datetime import datetime
now = datetime.now()
print("完整日期:", now.strftime("%Y-%m-%d")) # 2025-01-01
print("年月日时分秒:", now.strftime("%Y/%m/%d %H:%M:%S")) # 2025/01/01 12:00:00
print("12小时制:", now.strftime("%Y-%m-%d %I:%M:%S %p")) # 2025-01-01 12:00:00 PM
print("星期几:", now.strftime("%A")) # Wednesday
print("月份缩写:", now.strftime("%b")) # Jan
| 符号 | 含义 |
|---|---|
%Y |
4位年份 (2025) |
%y |
2位年份 (25) |
%m |
2位月份 (01-12) |
%d |
2位日期 (01-31) |
%H |
24小时制 (00-23) |
%I |
12小时制 (01-12) |
%M |
分钟 (00-59) |
%S |
秒 (00-59) |
%p |
AM/PM |
实际应用案例
from datetime import datetime
import time
# 案例1:计算代码执行时间
start = time.time()
time.sleep(1.5) # 模拟耗时操作
end = time.time()
print(f"耗时: {end - start:.2f}秒") # 输出: 耗时: 1.50秒
# 案例2:获取当前时间戳精确到毫秒
millisecond_timestamp = int(time.time() * 1000)
print("毫秒时间戳:", millisecond_timestamp)
# 案例3:文件命名
now = datetime.now()
filename = f"data_{now.strftime('%Y%m%d_%H%M%S')}.txt"
print("文件名:", filename) # 输出: data_20250101_120000.txt
快速选择指南
| 需求 | 推荐方案 |
|---|---|
| 获取时间戳 | time.time() |
| 简单格式化 | time.strftime() |
| 日期时间操作 | datetime 模块 |
| 日志/文件名 | datetime.now().strftime() |
| 计算耗时 | time.time() 差值 |
如果你有特定的时间获取需求,欢迎补充,我可以提供更精准的代码示例。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播