일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Linux
- KAKAO
- docker
- Converting
- GitLab
- evaluation
- Database
- format
- Container
- Paper
- 책갈피
- TORCH
- numpy
- pytorch
- Flask
- AI
- Package
- Python
- DB
- git
- Windows
- list
- pandas
- Laravel
- PostgreSQL
- LLM
- Mac
- judge
- enV
- file
Archives
- Today
- Total
Daily Develope
[Python] 시간 변환 (datetime) 본문
생성
- 현재시간 생성
from datetime import date
today:datetime = date.today()
포맷 변환
X to Datetime
- timestamp to datetime
from datetime import datetime
...
datetime.fromtimestamp(timestamp_value).strftime("%Y/%m/%d %H:%M:%S")
# output : 2000/01/01 12:34:56
- string to datetime
from datetime import datetime
from datetime import date
today_str = "2000 01 01"
today = datetime.strptime(today_str, "%Y %m %d")
# print(today) : 2000 01 01
- datetime to datetime (포맷 변환)
Datetime to String
from datetime import datetime
from datetime import date
today:datetime = date.today()
today_str = today.strftime("%Y %m %d")
# print(today_str) : 2000 01 01
시간 변환 (based on Timezone)
ㅇ 예시
- 입력 : Mon, 01 Oct 2018 11:24:42 EDT (%a, %d %b %Y %H:%M:%S %Z)
- 출력 : Tue, 02 Oct 2018 00:24:42 KST
ㅇ 샘플 코드 및 설명
from dateutil import parser
import pytz
from email.utils import parsedate_tz
def convert_to_kst(date_str: str) -> str:
# 문자열을 datetime 객체로 파싱 (타임존 포함)
time_tuple = parsedate_tz(date_str)
# UTC timestamp 확인
tz_offset_seconds = time_tuple[-1]
tz_offset_hours = tz_offset_seconds / 36000
tz_offset_hours = str(tz_offset_hours).replace(".", "")+":00" if abs(tz_offset_hours) > 0 else ""
print(f"타임존 오프셋 (초): {tz_offset_seconds}")
print(f"타임존 오프셋 (시): {tz_offset_hours}")
date_str += f" {tz_offset_hours}"
# 한국 시간대로 변환
dt = parser.parse(date_str) # EDT는 자동 인식됨
dt_kst = dt.astimezone(pytz.timezone('Asia/Seoul'))
print("원본 시간 (EDT):", dt)
print("변환된 시간 (KST):", dt_kst)
return dt_kst.strftime("%a, %d %b %Y %H:%M:%S %Z")
if __name__ == "__main__":
res = convert_to_kst("Mon, 01 Oct 2018 11:24:42 EDT")
print(res)
- 입력된 시간으로부터 timezone 정보를 획득합니다.
- timezone 정보로 부터 UTC 시간 정보를 얻고, "+00:00" 또는 "-00:00" 문자열 형태로 변환합니다.
- digit 문자열로 부터 입력된 시간의 UTC 코드를 인식하고, KST 시간으로 변환합니다.
- KST로 변환된 시간을 반환합니다.
시간 기술 포맷
'Develope > Python' 카테고리의 다른 글
[Python] 문법 (grammer) 예제로 간단 정리 (0) | 2023.04.10 |
---|---|
[Python] Multi processing 멀티 프로세싱 (0) | 2023.02.15 |
[Python] Json 읽기 / 쓰기 (0) | 2022.11.15 |
[Python] 단위테스트 (Unit test) (0) | 2022.10.25 |
[Python] 엑셀(Excel) 파일 데이터 읽기/쓰기 (0) | 2022.09.22 |
Comments