[PYTHON] 파이썬은 올바른 시간대에 현재 시간을 얻습니다. [duplicate]
PYTHON파이썬은 올바른 시간대에 현재 시간을 얻습니다. [duplicate]
지금 나는
import datetime
print(datetime.datetime.now().strftime("%X"))
현재 시간을 문자열로 표시합니다. 문제는 내 컴퓨터가 유럽 / 베를린 표준 시간대로 실행 중이며 UTC에 대한 +2의 오프셋이 여기에 포함되지 않는다는 것입니다. 19시 22 분 26 초 대신 21시 22 분 26 초를 표시해야합니다. 또한 내가 여기에서 찾은 다른 답변 들과는 달리, 나는 그것을 호출하여 저장하지 않는다.
datetime.datetime(2014, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)
그러나
datetime.datetime.now()
그래서 나는 다음을 시도했다 (그리고 실패했다).
>>> from pytz import timezone
>>> datetime.datetime.now().astimezone(timezone('Europe/Berlin'))
ValueError: astimezone() cannot be applied to a naive datetime
이 질문은 마감으로 표시되어 있으므로 답변으로 게시 할 수 없습니다.
이 문제가 발생한 서버가 더 이상 존재하지 않습니다. 어쨌든 다음과 같은 사항을 점검 할 가치가 있습니다.
해결법
-
==============================
1.순진한 datetime 객체로 로컬 시간대에서 현재 시간을 가져 오려면 다음을 수행하십시오.
순진한 datetime 객체로 로컬 시간대에서 현재 시간을 가져 오려면 다음을 수행하십시오.
from datetime import datetime naive_dt = datetime.now()
예상 시간을 반환하지 않으면 컴퓨터가 잘못 구성되었음을 의미합니다. 먼저 수정해야합니다 (Python과 관련이 없습니다).
naive datetime 객체로 UTC에서 현재 시간을 가져 오려면 다음을 수행하십시오.
naive_utc_dt = datetime.utcnow()
현재 시간을 Python 3.3 이상에서 datetime 객체로 인식하려면 :
from datetime import datetime, timezone utc_dt = datetime.now(timezone.utc) # UTC time dt = utc_dt.astimezone() # local time
tz 데이터베이스에서 주어진 시간대의 현재 시간을 가져 오려면 다음을 수행하십시오.
import pytz tz = pytz.timezone('Europe/Berlin') berlin_now = datetime.now(tz)
DST 전환 중에 작동합니다. 시간대가 과거에 다른 UTC 오프셋을 가지고있는 경우에 작동합니다. 즉, 시간대가 다른 시간에 여러 tzinfo 객체에 해당하는 경우에도 작동합니다.
from https://stackoverflow.com/questions/25837452/python-get-current-time-in-right-timezone by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 수십 개의 배열에 대한 가장 빠른 저장 및로드 옵션 (0) | 2018.11.21 |
---|---|
[PYTHON] 파이썬에서 XML 파일을 업데이트 / 수정하는 방법은 무엇입니까? (0) | 2018.11.21 |
[PYTHON] 알파벳으로 문자 위치 가져 오기 (0) | 2018.11.21 |
[PYTHON] 팬더가 인식하는 모든 유형은 무엇입니까? (0) | 2018.11.21 |
[PYTHON] 클래스를 파이썬에서리스트처럼 동작하도록합니다. (0) | 2018.11.21 |