Python 时间处理模块(datetime、time、pytz)
1. datetime 模块
datetime 模块提供了日期和时间的处理功能,包括 datetime、date、time 和 timedelta 类。
获取当前日期和时间
from datetime import datetime
now = datetime.now()
print(f"当前日期和时间: {now}")
获取当前日期
from datetime import date
today = date.today()
print(f"当前日期: {today}")
获取当前时间
from datetime import datetime, time
now = datetime.now()
current_time = now.time()
print(f"当前时间: {current_time}")
格式化日期和时间
from datetime import datetime
now = datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化的日期和时间: {formatted_date}")
解析日期和时间字符串
from datetime import datetime
date_str = "2023-10-01 12:34:56"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(f"解析后的日期和时间: {parsed_date}")
计算时间差
from datetime import datetime, timedelta
now = datetime.now()
future = now + timedelta(days=7, hours=2, minutes=30)
print(f"未来的时间: {future}")
time_diff = future - now
print(f"时间差: {time_diff}")
print(f"时间差(秒): {time_diff.total_seconds()} 秒")
替换日期和时间的特定部分
from datetime import datetime
now = datetime.now()
new_datetime = now.replace(year=2024, month=12, day=31, hour=23, minute=59, second=59)
print(f"替换后的日期和时间: {new_datetime}")
2. time 模块
time 模块提供了与时间相关的函数,包括获取当前时间戳、休眠等。
获取当前时间戳
import time
current_timestamp = time.time()
print(f"当前时间戳: {current_timestamp}")
将时间戳转换为日期和时间
import time
from datetime import datetime
current_timestamp = time.time()
local_time = time.localtime(current_timestamp)
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(f"格式化的时间: {formatted_time}")
# 使用 datetime 模块
formatted_time = datetime.fromtimestamp(current_timestamp).strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化的时间 (datetime): {formatted_time}")
休眠
import time
print("开始休眠...")
time.sleep(5) # 休眠 5 秒
print("休眠结束")
3. pytz 模块
pytz 模块提供了时区处理功能,可以处理不同时区的时间。
获取带时区的当前时间
from datetime import datetime
import pytz
# 获取 UTC 时间
utc_now = datetime.now(pytz.utc)
print(f"UTC 时间: {utc_now}")
# 转换为上海时区的时间
shanghai_tz = pytz.timezone('Asia/Shanghai')
shanghai_now = utc_now.astimezone(shanghai_tz)
print(f"上海时间: {shanghai_now}")
解析带时区的日期和时间字符串
from datetime import datetime
import pytz
date_str = "2023-10-01 12:34:56"
shanghai_tz = pytz.timezone('Asia/Shanghai')
# 解析为本地时间
local_time = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
local_time = shanghai_tz.localize(local_time)
# 转换为 UTC 时间
utc_time = local_time.astimezone(pytz.utc)
print(f"解析后的本地时间: {local_time}")
print(f"转换后的 UTC 时间: {utc_time}")
评论区