python datetime.datetime.now() 北京时间
python datetime.datetime.now() 北京时间
===================
要获取北京时间(中国标准时间,UTC+8),可以使用datetime模块中的datetime和timedelta类。以下是一个简单的函数,用于获取北京时间:
from datetime import datetime, timedelta
def get_beijing_time():
# 获取UTC时间
utc_time = datetime.utcnow()
# 将UTC时间转换为北京时间,即UTC+8
beijing_time = utc_time + timedelta(hours=8)
return beijing_time
# 使用函数
print(get_beijing_time())
这段代码会打印出当前的北京时间。
====================
datetime.datetime.now() 默认获取的是UTC时间,如果需要获取北京时间(中国标准时间,UTC+8),可以使用pytz库进行时区转换,或者使用Python 3.9及以上版本的zoneinfo模块。
以下是使用zoneinfo的示例代码:
from datetime import datetime
from zoneinfo import ZoneInfo
# 北京时间的时区信息
beijing_time = ZoneInfo('Asia/Shanghai')
# 获取当前的北京时间
now = datetime.now(beijing_time)
print(now)
如果你使用的Python版本低于3.9,可以使用pytz库:
from datetime import datetime
import pytz
# 北京时间的时区信息
beijing_tz = pytz.timezone('Asia/Shanghai')
# 获取当前的UTC时间
utc_now = datetime.utcnow()
# 将UTC时间转换为北京时间
beijing_now = utc_now.replace(tzinfo=pytz.utc).astimezone(beijing_tz)
print(beijing_now)
注意:pytz 在Python 2022年1月1日后不再得到维护,建议升级到Python 3.9或更高版本使用zoneinfo。
====================