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()
							 |