Intro
시간과 관련된 time 모듈, datetime 모듈을 설명한다.
time 모듈은 ‘시간’을 다루는 데 더 집중된 라이브러리로,
기본적인 날짜, 요일 등의 반환과 함께 딜레이 삽입 등 시간을 제어하는 기능을 제공한다.
datetime 모듈은 날짜와 시간을 다루는 기능을 제공하며,
time과 달리 시간 간의 연산보다는 날짜 및 시간의 출력 포매팅을 위한 효율적인 속성 추출에 초점이 맞춰져있다.
time 라이브러리
메서드
메서드 | attribute | 설명 | 예시 |
---|---|---|---|
time.time() | 현재 시간을 반환한다. timestamp | start = time.time() | |
time.sleep(sec) | 코드 실행 중 딜레이를 발생시킨다. | time.sleep(10) -> 10초 딜레이 | |
time.strftime(표시형식) | 현재 시간의 연월일시분초를 문자열로 반환 | time.strftime(‘%Y-%m-%d %H:%M:%S’) -> ‘2023-02-19 11:33:00’ |
|
time.asctime() | 현재 시간을 요일 월 - 일 - 시분초 - 연 순으로 반환 | Sun Jun 11 20:23:18 2023 | |
time.localtime() | 현재 시간의 연, 월, 일, 시, 분, 초, 요일, 연간 경과일을 반환 | ||
.tm_year | 현재 시간의 ‘연도’를 반환 | time.localtime().tm_year -> 2023 | |
.tm_mon | 현재 시간의 ‘월’을 반환 | time.localtime().tm_mon -> 2 | |
.tm_mday | 현재 시간의 ‘일’을 반환 | time.localtime().tm_mday -> 19 | |
.tm_hour | 현재 시간의 ‘시간’을 반환 | time.localtime().tm_hour -> 11 | |
.tm_min | 현재 시간의 ‘분’을 반환 | time.localtime().tm_min -> 33 | |
.tm_sec | 현재 시간의 ‘초’를 반환 | time.localtime().tm_sec -> 30 | |
.tm.wday | 현재 시간의 ‘요일’을 반환 | time.localtime().tm_wday -> 6 0:월요일 ~ 6:일요일 |
|
.tm_yday | 올해부터 경과된 일수를 반환 | time.localtime().tm_wday -> 50 |
요일
1
2
3
4
5
6
7
0 : 월요일
1 : 화요일
2 : 수요일
3 : 목요일
4 : 금요일
5 : 토요일
6 : 일요일
예시
코드 실행 시간 계산
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import time
start = time.time() # 본 코드가 실행되는 시간을 기록한다.
sum = 0
for i in range(1000000):
sum += i
end = time.time() # 본 코드가 실행되는 시간을 기록한다.
###################################################
# 소요 시간
print(f'{end-start:.2f}')
==> 0.18 (sec)
현재 날짜 값 얻기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import time
time.localtime()
# >>> time.struct_time(tm_year=2023, tm_mon=6, tm_mday=11, tm_hour=20, tm_min=14, tm_sec=6, tm_wday=6, tm_yday=162, tm_isdst=0)
time.localtime().tm_year # >>> 2023 (2023년)
time.localtime().tm_mon # >>> 6 (6월)
time.localtime().tm_mday # >>> 11 (11일)
time.localtime().tm_hour # >>> 20 (20시)
time.localtime().tm_min # >>> 15 (15분)
time.localtime().tm_sec # >>> 41 (41초)
time.localtime().tm_wday # >>> 6 (6일 : 일요일)
time.localtime().tm_yday # >>> 162 (2023년의 162일 째)
딜레이
1
2
3
4
5
6
7
8
import time
start = time.time() # 시작 시간
time.sleep(10) # 10초 딜레이
end = time. time() # 종료 시간
print(end - start)
# >>> 10.006473064422607
Reference
https://docs.python.org/ko/3/library/time.html
https://blockdmask.tistory.com/549