在Python中获取时区ID

10 浏览
0 Comments

在Python中获取时区ID

我正在尝试获取客户端的时区信息字符串,例如:America/New_York、Africa/Cairo等。目前我只能获取到客户端的时区偏移量(client_timezone_offset)。我首先将其转换为日期时间,然后尝试获取时区信息。但是我只能得到类似于"UTC+08:00"的字符串。是否有办法可以得到类似于"America/New_York"的时区字符串?

以下是我的示例代码,我只能得到类似于"UTC+08:00"的字符串:

dt = datetime.fromtimestamp(
            float(time.time()),
            timezone(timedelta(seconds=self.current_request.client_timezone_offset)),
        )
        tz = timezone(timedelta(seconds=self.current_request.client_timezone_offset))
        timezone_string = (
            "America/New_York" if tz.tzname(dt) is None else str(tz.tzname(dt))
        )

0