Search

Time 에 대한 이해

파이썬이나, SQL 등을 다루다 보면, TIme 표현이 여러 가지가 있기 때문에, 이를 잘 정리해두고 왜 이렇게 저장을 다르게 해놓는지에 대해 이해할 필요가 있다. 추후에 분석의 효율을 위해서 시간 표기 방법에 대해 공부하고 정리해보기로 했다.

Time 에 대한 이해 : timestamp, UTC, KST

먼저, 컴퓨터는 날짜와 시간을 단순하게 표현하기 위해서 epoch time을 사용한다.
epoch time은 UTC(GMT + 0) 기준으로 1970년 1월 1일, 0시 0분 0초부터의 경과 시간을 나타낸다. 일반적으로 우리가 쓰는 날짜와 시간은 세계 각지의 시간대(time zone), 일광절약시간, 음력, 윤달 등을 구분해줘야하는데, epoch time 을 쓰면 간편하게 표현할 수 있다.

epoch 는 뭐고, UTC 는 뭔데?

epoch는 중요한 사건이 발생한 시점부터의 기간을 의미.
UTC 는 국제 표준시를 의미. 1970년 1월 1일 자정이 0밀리초이고, 그때부터 현재까지 시간이 계속 누적되고 있다.

KST?

한국 표준시다. UTC 보다 9시간 더 빠르고, 표시할 때는 ‘ UTC + 09:00 ’ 이렇게 한다.

결론

Unix time, POSIX time 이라고 쓰여있으면 epoch time을 의미하는 것이고, 이를 다시 timestamp 라고 부르기도 한다.
Unix time = POSIX time = epoch time = timestamp

time 실습 코드 : UTC → timestamp → UTC → KST

from datetime import datetime, timezone, timedelta # 01 ) 파이썬 'datetime' 패키지를 이용해서 현재시간 얻기 : datetime.now()함수 이용 now_utc = datetime.now(timezone.utc) # utc 기준으로 현재 시간 가져오기 print('#01) Now UTC ==> ', now_utc) # 2023-07-01 05:39:58.863089+00:00 timestamp = now_utc.timestamp() print('#02) timestamp (micro sec) : ', timestamp) print('#02) timestamp ( sec) : ', int(timestamp)) ####02) timestamp (micro sec) : 1688190198.158278 ####02) timestamp ( sec) : 1688190198 #03) timestamp 를 다시 UTC로 변환 : datetime.utcfromtimestamp()함수 이용 now_utc_from_timestamp = datetime.utcfromtimestamp(timestamp) print('#03) Now UTC from timestamp ==> ', now_utc_from_timestamp) ######03) Now UTC from timestamp ==> 2023-07-01 05:49:04.778891 # 04) UTC를 KST 로 변환 : timedelta() 함수이용 now_kst = now_utc_from_timestamp + timedelta(hours=9) print('#04) Now kst KST ==> ', now_kst.strftime('%Y-%m-%d %H:%M:%S')) ######04) Now kst KST ==> 2023-07-01 14:51:32
Python
복사