ProgramingTip

Python에서 시스템의 존재 정보를 얻었습니까?

bestdevel 2020. 12. 10. 20:57
반응형

Python에서 시스템의 존재 정보를 얻었습니까?


Python에서 내 시스템의 기본 제공 (PST)을 제공합니다. 그렇게하는 가장 좋은 방법은 무엇입니까? 다른 프로세스를 포크하는 것을 피하고 싶습니다.


Python Time Module을 확인하세요 .

from time import gmtime, strftime
print(strftime("%z", gmtime()))

태평양 표준시


작동합니다.

import time
time.tzname

time.tzname두개의 튜플을 반환합니다. 첫 번째는 로컬 DST가 아닌 고유의 이름이고 두 번째는 로컬 DST의 이름입니다.

반환 예 : ('MST', 'MDT')


ThomasH의 답변과 같이 UTC 운영을 제공하지만 일광 절약 시간을 고려합니다.

>>> import time
>>> offset = time.timezone if (time.localtime().tm_isdst == 0) else time.altzone
>>> offset / 60 / 60 * -1
-9

time.timezone또는 값은 time.altzoneUTC 서부 초 단위입니다 (UTC 동부 영역은 음수 값을 가짐). 이것이 우리가 실제로 원하는 방식과 반대하는 방식 * -1입니다.

time.localtime().tm_isdst 현재 일광 절약이 적용되지 않는 경우 0이 (지역에서 최근 절약되지 않습니다.)

편집 : marr75가 대답하며 그에 따라 대답했습니다.


계산을위한 코드 스 니펫이 매뉴 팩 . http://bugs.python.org/issue7229를 참조하세요 .

처리하는 올바른 방법은 다음과이를 사용합니다.

def local_time_offset(t=None):
    """Return offset of local zone from GMT, either at present or at time t."""
    # python2.3 localtime() can't take None
    if t is None:
        t = time.time()

    if time.localtime(t).tm_isdst and time.daylight:
        return -time.altzone
    else:
        return -time.timezone

이것은 OP가 요청한 정확한 질문은 페이지에 두 개의 잘못된 스 니펫이 있고 버그를 추적하고 수정하는 데 시간이 있습니다.


나는 그것이 잘한다는 것을 알았다.

import datetime
tz_string = datetime.datetime.now(datetime.timezone.utc).astimezone().tzname()

저에게 이것은 일광 절약과 않은 것을 구별 할 수 있습니다.

https://stackoverflow.com/a/39079819/4549682


좌석보다 UTC 선호하는 경우 :

time.timezone / -(60*60)

참고 URL : https://stackoverflow.com/questions/1111056/get-time-zone-information-of-the-system-in-python

반응형