44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""
 | 
						|
    babel.localtime
 | 
						|
    ~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
    Babel specific fork of tzlocal to determine the local timezone
 | 
						|
    of the system.
 | 
						|
 | 
						|
    :copyright: (c) 2013-2025 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()
 |