반응형
Python은 적절한 시간대에 현재 시간을 얻습니다.
지금은 사용합니다.
import datetime
print(datetime.datetime.now().strftime("%X"))
현재 시간을 문자열로 표시합니다.
문제는, 내 컴퓨터가 실행되고 있다는 것입니다.Europe/Berlin
시간대 및 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
편집:
정답.
이 질문이 닫힘으로 표시되어 있으므로 답변으로 게시할 수 없습니다.
이 문제가 발생한 서버는 더 이상 존재하지 않습니다.어쨌든, 다음은 확인할 가치가 있는 몇 가지 다른 사항입니다.
- 서버/시스템의 표준 시간대가 올바르게 설정되어 있습니까?
- VM 또는 도커 컨테이너가 호스트와 동기화되지 않을 수 있으므로 확인해 볼 필요가 있습니다.
- 그 컴퓨터의 시간이 정확합니까?시간대를 변경한 후 +2시간으로 끝나지 않습니까?
로컬 시간대의 현재 시간을 순진한 날짜/시간 객체로 가져오려면:
from datetime import datetime
naive_dt = datetime.now()
예상 시간을 반환하지 않으면 컴퓨터가 잘못 구성되었음을 의미합니다.먼저 수정해야 합니다(파이썬과 관련 없음).
UTC에서 현재 시간을 순진한 날짜/시간 객체로 가져오려면:
naive_utc_dt = datetime.utcnow()
Python 3.3+에서 현재 시간을 인식하는 날짜/시간 객체로 가져오는 방법:
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 개체에 해당하는 경우에도 작동합니다.
언급URL : https://stackoverflow.com/questions/25837452/python-get-current-time-in-right-timezone
반응형
'programing' 카테고리의 다른 글
배경 이미지를 div에 맞춤 (0) | 2023.08.06 |
---|---|
jQuery UI 탭 - 현재 선택한 탭 인덱스를 가져오는 방법 (0) | 2023.08.06 |
필수_라벨 5 유효성 검사인 경우 (0) | 2023.08.06 |
비트 열에 SUM을 사용하려면 어떻게 해야 합니까? (0) | 2023.08.06 |
MySQL 테이블에 대해 '너무 많은' 행은 몇 개입니까? (0) | 2023.08.06 |