본문 바로가기
코딩 연습/코딩배우기

파이썬 datetime 모듈과 장고(django) 모델(models) 시간

by good4me 2021. 9. 3.

goodthings4me.tistory.com

 

파이썬 datetime 모듈과 장고(django) 모델(models) 시간

 

파이썬 datetime 모듈 관련

import datetime
import pytz

print('today:', datetime.datetime.today())
# today: 2021-08-25 08:23:35.425080 
print('today_now:', datetime.datetime.now())
# today_now: 2021-08-25 08:23:35.426078
print('date:', datetime.date.today())
# date: 2021-08-25

today = datetime.datetime.today()
print('set_date:', datetime.datetime(today.year, today.month, today.day))
# set_date: 2021-08-25 00:00:00
print('set_datetime:', datetime.datetime(today.year, today.month, today.day, 11, 11, 1))
# set_datetime: 2021-08-25 11:11:01

print('set_datetime:', datetime.datetime(year=2021, month=8, day=20, hour=8, minute=20, second=45))
# set_datetime: 2021-08-20 08:20:45
print('set_datetime:', datetime.datetime(2021, 8, 20, 8, 20, 45))
# set_datetime: 2021-08-20 08:20:45
print('set_date:', datetime.date(year=2021, month=8, day=20))
# set_date: 2021-08-20
print('set_date:', datetime.date(2021, 8, 20))
# set_date: 2021-08-20

KST = datetime.timezone(datetime.timedelta(hours=9))
print('timezone_KST:', datetime.timezone(datetime.timedelta(hours=9)))
# timezone_KST: UTC+09:00
print(datetime.datetime(2021, 8, 20, 8, 20, 45, tzinfo=KST))
# 2021-08-20 08:20:45+09:00
print(datetime.datetime.now(KST))
# 2021-08-25 08:23:35.759768+09:00

print('now_UTC:', datetime.datetime.now(pytz.timezone('UTC')))
# now_UTC: 2021-08-24 23:23:35.428072+00:00
print('now_Asia/Seoul:', datetime.datetime.now(pytz.timezone('Asia/Seoul')))
# now_Asia/Seoul: 2021-08-25 08:23:35.759768+09:00
print(datetime.datetime.now().astimezone(pytz.timezone('Asia/Seoul')))
# 2021-08-25 08:52:20.851008+09:00

now = datetime.datetime.now(pytz.timezone('Asia/Seoul'))
now_datetime = now.strftime('%Y-%m-%d %H:%M:%S')
print(now_datetime)
# 2021-08-25 09:10:58

 

good4me.co.kr

 

장고(django)의 모델(models)에서 DateTimeField() 사용 시 한국시간으로 sqlite3에 insert 되게 할 수 있는 방법

TIME-ZONE(db 시간대 설정)의 초기값인 'UTC'를 'Asia/Seoul' 로 변경하고,

USE_TZ (시간대 인식 여부를 결정)를 삭제(또는 비활성화) 하면 된다고 함

 

댓글