更改时区后用Python获取系统日期/时间

2024-10-06 08:01:02 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的系统中,我将时钟的当前时区设置为“吉隆坡,新加坡(UTC+08:00)”,这使我的时钟提前了8小时(当然)。在

在python中,我使用代码来获取当前时间/日期:

from datetime import datetime
dateTimeTuple = datetime.now()

我使用这个方法,因为我需要单独的部分(包括微秒)。在

但是,它总是返回一个固定的时间(不是根据所选时区提前八个小时)。在

还有别的方法吗?在


Tags: 方法代码fromimportdatetime系统时间时钟
1条回答
网友
1楼 · 发布于 2024-10-06 08:01:02

datetime.now()返回原始的本地日期时间。要将其转换为吉隆坡时间,首先需要使其成为时区感知日期时间,然后将其转换为吉隆坡时区:

进行时区转换的最简单方法是使用pytz

import pytz
import datetime as dt
kuala_lumpur=pytz.timezone('Asia/Kuala_Lumpur')
localtz=pytz.timezone('Europe/London')

这是天真的日期时间。

^{pr2}$

使用localize使datetime时区可感知。

now=localtz.localize(now)
print(now)
# 2011-09-19 11:58:46.342254+01:00

使用astimezone转换为另一个时区:

now_in_kuala_lumpur=now.astimezone(kuala_lumpur)
print(now_in_kuala_lumpur)
# 2011-09-19 18:58:46.342254+08:00

由于Daylight Savings Time in the UK和{a3},时差目前为7小时。

相关问题 更多 >