猿问

在 Python 中获取本地时区作为字母代码?

我通常使用此代码来获取本地时区:


import platform

import time

import datetime

import pytz


#LOCAL_TIMEZONE = datetime.datetime.now(datetime.timezone.utc).astimezone().tzinfo # "CEST", etc on Linux, but 'Romance Standard Time' on Windows

if "win" in platform.system().lower(): # SO:1387222

  # SO:16156597 - try tzlocal.win32; MINGW64: `pip3.8.exe install tzlocal`; RPi: `sudo apt install python3-tzlocal`

  from tzlocal.win32 import get_localzone_name

  LOCAL_TIMEZONE = pytz.timezone(get_localzone_name())

else:

  from tzlocal import get_localzone

  LOCAL_TIMEZONE = get_localzone()

# Above results with LOCAL_TIMEZONE: Europe/Copenhagen in Linux, Europe/Paris in Windows

如何获得适用于 Windows 和 Linux 的本地时区 CET 或 CEST(字母代码)?


绝地无双
浏览 177回答 1
1回答

暮色呼如

该tzlocal包应该为您提供所需的东西 - 但是您还需要一个datetime可用于以下目的的对象strftime('%Z'):from datetime import datetimefrom tzlocal import get_localzoneprint(datetime.now(tz=get_localzone()).strftime('%Z'))# CESTps 我在 Windows 上;现在无法在 Linux 上进行测试。
随时随地看视频慕课网APP

相关分类

Python
我要回答