Python 轻松获取当前时间与时区数据
Python 轻松获取当前时间与时区数据
探索在 Python 中获取当前本地时间并处理多时区的可靠方法,涵盖标准 datetime 和 time 模块,以及流行的 pytz 库。
Python 提供了多种直接获取当前时间的方法。以下通过实用示例演示每种方法,并清晰解释每段代码的作用。
示例 1:使用 datetime 模块获取当前时间
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("当前时间 =", current_time)
输出
当前时间 = 07:41:19
此例中,datetime.now() 返回包含当前日期和时间的 datetime 对象。strftime() 函数将该对象格式化为人类可读的时间字符串。
若需仅表示时间的 time 对象,可对同一 datetime 实例调用 time() 方法:
from datetime import datetime
now = datetime.now().time() # time 对象
print("now =", now)
print("type(now) =", type(now))
输出
now = 07:43:37.457423 type(now) = <class 'datetime.time'>
示例 2:使用 time 模块获取当前时间
对于仅需当前本地时间的应用,内置 time 模块是轻量级替代方案:
import time
t = time.localtime()
current_time = time.strftime("%H:%M:%S", t)
print(current_time)
输出
07:46:58
示例 3:获取特定时区的当前时间
当应用需要引用多个地区的时间时,pytz 库提供强大的时区支持。以下示例获取纽约和伦敦的当前时间:
from datetime import datetime
import pytz
# 纽约
ny_tz = pytz.timezone('America/New_York')
ny_time = datetime.now(ny_tz)
print("纽约时间:", ny_time.strftime("%H:%M:%S"))
# 伦敦
london_tz = pytz.timezone('Europe/London')
london_time = datetime.now(london_tz)
print("伦敦时间:", london_time.strftime("%H:%M:%S"))
输出
纽约时间: 03:45:16 伦敦时间: 08:45:16
这些片段演示如何将时区附加到 datetime 对象并格式化显示。对于 Python 3.9 及更高版本,内置 zoneinfo 模块可在许多用例中替代 pytz。
Python
- 计算电抗直流电路中的电压与电流
- 精通Python数据类型:实战指南
- 精通Python运算符:全面指南
- 精通Python Pass语句:实战指南
- 精通Python函数参数:位置、关键字与默认参数
- 精通 Python 字典:创建、操作与进阶技巧
- 精通 Python datetime:日期、时间与时区实战指南
- Python 获取当前日期和时间:实用指南
- 精通 Python time 模块:函数、结构体与实战示例
- 精通 Python time.sleep():最佳实践、多线程与实战案例
- Python timeit():精准测量代码执行时间与实战示例
- Python time.sleep():为代码添加延迟的完整指南