python 시간대 날짜 포맷 작업
Wed, 23 Oct 2019 21:12:01 +0800
Wed, 23 Oct 2019 06:08:37 +0000 (GMT)
Fri, 11 Oct 2019 12:42:07 +0800 (CST)
Wed, 23 Oct 2019 06:08:37 +0000 (UTC)
몇 가지 서로 다른 날짜 포맷 방식, 서로 다른 시간대 시간이 베이징 시간, 즉 동팔구의 시간으로 전환된다. 주의해야 할 것은 뒤의 시간대 표시 방식이다.
def getTimeStamp(self, date):
result = re.search(r"[\-\+]\d+", date)
if result:
time_area = result.group()
symbol = time_area[0]
offset = int(time_area[1]) + int(time_area[2])
if symbol == "+":
format_str = '%a, %d %b %Y %H:%M:%S '+ time_area
if "UTC" in date:
format_str = '%a, %d %b %Y %H:%M:%S '+ time_area+ ' (UTC)'
if "GMT" in date:
format_str = '%a, %d %b %Y %H:%M:%S ' + time_area + ' (GMT)'
if "CST" in date:
format_str = '%a, %d %b %Y %H:%M:%S ' + time_area + ' (CST)'
utcdatetime = time.strptime(date, format_str)
tempsTime = time.mktime(utcdatetime)
tempsTime = datetime.datetime.fromtimestamp(tempsTime)
if offset > 8:
offset = offset -8
tempsTime = tempsTime + datetime.timedelta(hours=offset)
localtimestamp = tempsTime.strftime("%Y-%m-%d")
else:
format_str = '%a, %d %b %Y %H:%M:%S ' + time_area
utcdatetime = time.strptime(date, format_str)
tempsTime = time.mktime(utcdatetime)
tempsTime = datetime.datetime.fromtimestamp(tempsTime)
tempsTime = tempsTime + datetime.timedelta(hours=(offset + 8))
localtimestamp = tempsTime.strftime("%Y-%m-%d")
return localtimestamp
보충 지식: Python 처리대timezone의datetime 유형데이터베이스에 시간 유형을 저장할 때 DateTime 유형을 사용합니다.DateTime 유형을 사용하면 시간대 timezone 문제가 발생합니다.timezone를 처리할 수 있도록 데이터베이스 저장을 추천하는 것은 UTC 기반 시간 날짜입니다. 로컬에서 사용할 때 로컬로 전환합니다.
Python은 추상적인 클래스 tzinfo를 정의했는데 이class는 직접 사용할 수 없습니다.3.x버전(최소 3.4,3.5)은timezoneclass를 정의합니다.하지만 이 타임존은 제3자pytz류보다 못하다.
또 하나의 문제는 어떻게 본 기계의 타임존을 얻을 수 있느냐는 것이다.타임 클래스에서 한 시간을 얻을 수 있습니다.timezone, 초 기반 오프셋 값입니다.이 시간은 날짜 시간이 아니니 주의하세요.time, 바로time,os와 관련된 시간 정보입니다.잘 쓰이지 않으니 tzlocal 라이브러리를 추천합니다.
pytz 및 tzlocal 설치
pip로 설치하면 됩니다.
pip install pytz
pip install tzlocal
어떻게 사용합니까
데이터 저장을 위한 현재 시간 확보
from datetime import datetime
t = datetime.utcnow()
알려진 로컬 시간, UTC 시간으로 전환해야 저장
import pytz
from tzlocal import get_localzone
tz = get_localzone() # timezone
utc = pytz.utc # UTC timezone
dt = datetime(2016, 6, 12, 5, 0, 0)
loc_dt = tz.localize(dt) # DateTime timezone
utc_dt = loc_dt.astimezone(utc) # timezone
알려진 UTC 시간, 로컬 전환
import pytz
from tzlocal import get_localzone
utc = pytz.utc
tz = get_localzone()
t = datetime(x,x,x,x,x,x)
utc_dt = utc.localize(t)
loc_dt = utc_dt.astimezone(tz)
이상의 이python 시간대의 날짜 포맷 작업은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.