blob: e1ece73422ad9f28ef2d88806ff5bafa4ffb7140 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
"""
babel.localtime
~~~~~~~~~~~~~~~
Babel specific fork of tzlocal to determine the local timezone
of the system.
:copyright: (c) 2013-2023 by the Babel Team.
:license: BSD, see LICENSE for more details.
"""
import datetime
import sys
if sys.platform == 'win32':
from babel.localtime._win32 import _get_localzone
else:
from babel.localtime._unix import _get_localzone
# TODO(3.0): the offset constants are not part of the public API
# and should be removed
from babel.localtime._fallback import (
DSTDIFF, # noqa: F401
DSTOFFSET, # noqa: F401
STDOFFSET, # noqa: F401
ZERO, # noqa: F401
_FallbackLocalTimezone,
)
def get_localzone() -> datetime.tzinfo:
"""Returns the current underlying local timezone object.
Generally this function does not need to be used, it's a
better idea to use the :data:`LOCALTZ` singleton instead.
"""
return _get_localzone()
try:
LOCALTZ = get_localzone()
except LookupError:
LOCALTZ = _FallbackLocalTimezone()
|