koichi12's picture
Add files using upload-large-folder tool
6f8c8ab verified
raw
history blame
2.35 kB
import logging
from datetime import datetime
logger = logging.getLogger(__name__)
timezones = [
{"offset": "-12:00", "value": "Etc/+12"},
{"offset": "-11:00", "value": "Pacific/Pago_Pago"},
{"offset": "-10:00", "value": "Pacific/Honolulu"},
{"offset": "-09:00", "value": "America/Anchorage"},
{"offset": "-08:00", "value": "America/Los_Angeles"},
{"offset": "-07:00", "value": "America/Phoenix"},
{"offset": "-06:00", "value": "America/Guatemala"},
{"offset": "-05:00", "value": "America/Bogota"},
{"offset": "-04:00", "value": "America/Halifax"},
{"offset": "-03:30", "value": "America/St_Johns"},
{"offset": "-03:00", "value": "America/Sao_Paulo"},
{"offset": "-02:00", "value": "America/Godthab"},
{"offset": "-01:00", "value": "Atlantic/Azores"},
{"offset": "+00:00", "value": "Europe/London"},
{"offset": "+01:00", "value": "Europe/Amsterdam"},
{"offset": "+02:00", "value": "Asia/Amman"},
{"offset": "+03:00", "value": "Asia/Baghdad"},
{"offset": "+03:30", "value": "Asia/Tehran"},
{"offset": "+04:00", "value": "Asia/Dubai"},
{"offset": "+04:30", "value": "Asia/Kabul"},
{"offset": "+05:00", "value": "Asia/Karachi"},
{"offset": "+05:30", "value": "Asia/Kolkata"},
{"offset": "+05:45", "value": "Asia/Kathmandu"},
{"offset": "+06:00", "value": "Asia/Almaty"},
{"offset": "+06:30", "value": "Asia/Yangon"},
{"offset": "+07:00", "value": "Asia/Bangkok"},
{"offset": "+08:00", "value": "Asia/Shanghai"},
{"offset": "+09:00", "value": "Asia/Irkutsk"},
{"offset": "+09:30", "value": "Australia/Adelaide"},
{"offset": "+10:00", "value": "Australia/Brisbane"},
{"offset": "+11:00", "value": "Asia/Magadan"},
{"offset": "+12:00", "value": "Pacific/Auckland"},
{"offset": "+13:00", "value": "Pacific/Tongatapu"},
]
def get_current_timezone_info():
current_tz = datetime.now().astimezone().tzinfo
offset = current_tz.utcoffset(None)
hours, remainder = divmod(offset.total_seconds(), 3600)
minutes = remainder // 60
sign = "+" if hours >= 0 else "-"
current_offset = f"{sign}{abs(int(hours)):02d}:{abs(int(minutes)):02d}"
current_timezone = next(
(tz for tz in timezones if tz["offset"] == current_offset),
{"offset": None, "value": None},
)
return current_timezone