안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.
업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.
오늘은 코딩을 하다보면 필요한 시간 정보를 다룰 수 있게 해주는 time 모듈에 대해서 공부해보겠습니다.
1. 시간의 개념
1) UTC (Universial Time Cordinated): 협정 세계시
1972년부터 세계 표준시로 정해짐
GMT와 UTC 사이의 시차는 없고, UTC가 오차가 더 적음
2) GMT (Greenwich Mean Time): 그리니치 평균시
- 영국 그리니치 천문대 위치를 기준으로 정한 표준시
- 1925년부터 1972년까지 표준시
3) KST (Korea Standard Time): 한국 표준시, UTC +9
2. time 모듈 기초 - time( ), gmtime( ), localtime( )
우선 time 모듈을 불러와 줍니다. time 모듈은 파이썬 내장 라이브러리(PIL)이므로 따로 설치하지 않으셔도 됩니다.
import time
1) time( )
#현재시각을 1970-01-01 00:00:00(UTC)를 기준으로 초단위로 나타낸 시간
time.time()
<실행 결과>
이런 시간 표시 방식은 우리가 잘 사용할 일이 없겠죠? 그래서 time.time( ) 함수는 자주 사용되진 않고 아래와 같이 '어느 시점부터 몇 초가 지났는지'를 산출하기 위해서 아래와 같이 사용되기도 합니다. (쥬피터 노트북을 사용하면 위의 그림에서 보시듯이 그냥 자동으로 실행시간이 측정되니 쓸 일이 없겠죠?ㅎㅎ)
# 측정 시작
start = time.time()
# 실행 시간을 알고싶은 코드 (여기서는 단순히 1.5초 delay를 줌)
time.sleep(3)
# 측정 종료
end = time.time()
print('코드 실행 시간:', end - start)
2) gmtime( )
# GMT 기준으로 struct_time을 반환
time.gmtime()
<실행 결과>
실행결과를 보시면 tm_xxxx로 표현된 변수에 값들이 들어간 것이 보이실텐데요. 아래와 같이 변수명을 참조해서 따로 사용하실 수 있습니다. (차례대로, 연, 월, 일, 시, 분, 초, 요일, 연중 경과일, 썸머타임 적용 여부_0:미적용 1:적용 -1:모름)
# 연도 가져오기 예시
t = time.gmtime()
t.tm_year
3) localtime( )
앞에서 배운 gmtime( )이 세계의 기준 시간이라면 localtime( )은 현재 코드를 실행한 사람이 위치한 지역 기준의 시간이 struct_time으로 출력됩니다. 저는 주로 이 함수를 자주 사용한답니다.
# 한국에서 실행한다면 GMT+9가 출력
time.localtime()
<실행 결과>
3. struct_time을 문자열로 / 문자열을 struct_time로 변환하는 법- strftime( ), strptime( )
1) strftime( )
tm = time.localtime()
str_tm = time.strftime("%Y-%m-%d %I:%M:%S %p", tm)
print(str_tm)
<실행 결과>
2) strptime( )
str_tm = "2022-02-24 11:10:08 PM"
tm = time.strptime(str_tm, "%Y-%m-%d %I:%M:%S %p")
print(tm)
<실행 결과>
위에서 보라색으로 표현된 문자열들은 아래의 표를 참고하셔서 여러분들이 원하시는 시간 표현 방식을 선택하실 수 있습니다.
4. 코드를 실행할 때 delay를 주는 법 - time.sleep( )
스크립트 언어인 파이썬 코드를 한줄씩 실행하다보면, 코드가 명령한 내용이 완전히 실행될 때 까지 기다려줘야 할 때가 있습니다.
이미 많이 보셨겠지만 이럴 때는 아래의 코드를 사용하며, 단위는 초(sec)입니다.
# 괄호 안에 delay 시키고 싶은 초를 입력
time.sleep()
<참고 자료>
1. 네이버 블로그_사진속의 풍경여행
https://blog.naver.com/gooddayvic/222110630554
2. 티스토리 블로그_잡동사니 저장중
https://responding.tistory.com/60
3. 파이썬 공식 문서_time 모듈
'파이썬 패키지 > 스케쥴러' 카테고리의 다른 글
[Windows 작업 스케줄러] 파이썬 파일 원하는 시간에 맞춰 실행하기 (3) | 2023.07.31 |
---|---|
[Python/Schedule] 정해진 주기(초, 분, 시간, 요일, 특정 시각)마다 함수 실행하기 (1) | 2021.11.19 |