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 시간대의 날짜 포맷 작업은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기