1. time 모듈이란?
time 모듈은 파이썬 내장 모듈 중 하나로, 시간과 관련된 기능을 제공합니다. 이 모듈은 시간관 관련된 time, sleep, locltime, strftime 등 다양한 함수를 제공하여 시간 측정, 딜레이, 시간 형식 변환 등에 사용됩니다.
time 모듈은 별도의 설치 과정이 필요없습니다. 모듈을 사용하려면 아래와 같이 import를 하면됩니다.
import time
2. time.time
time.time은 현재 시간을 초 단위로 반환합니다. 이 함수는 1970년 1월 1일 0시 0분 0초(UTC)부터 현재까지의 경과 시간을 초 단위로 반환합니다.
코드에서는 time 함수를 사용하여 현재 시간을 초 단위로 반환하고, 이를 출력합니다.
import time
# 현재 시간 출력
timestamp = time.time()
print("현재 시간(초):", timestamp)
3. time.sleep
time.sleep은 프로그램 실행을 주어진 시간 동안 지연시키는데 사용됩니다. 이 함수는 일정한 시간 간격으로 실행되는 코드를 작성할 때 유용하게 사용될 수 있습니다.
sleep함수는 다음과 같은 인자를 받습니다.
- seconds: 지연시킬 시간(초)을 나타내는 실수입니다.
time.sleep(seconds)
코드에서는 sleep 함수를 사용하여 1초마다 숫자를 출력하고, 이를 5번 반복합니다.
import time
# 1초마다 숫자 출력
for i in range(1, 6):
print(i)
time.sleep(1)
4. time.localtime
time.localtime은 현재 시스템 시간을 나타내는 *time_t 타임스탬프 값을 **struct_time객체로 변환합니다.
*time_t 타임스탬프 값은 시간의 특정 지점을 나타내는 정수 값입니다. 이 값은 1970년 1월1일 0시 0분 0초(UTC)부터 해당 시간까지의 초 단위 시간 값을 나타냅니다. time()함수를 사용하여 현재 시간을 time_t 타임스탬프 값으로 반환할 수 있습니다.
**struct_time객체는 날짜와 시간을 튜플 형태로 나타내는 데이터 타입입니다. 이 객체는 년, 월, 일, 시, 분, 초 등의 정보를 각각 필드로 가지고 있습니다.
localtime함수는 다음과 같은 인자를 받습니다.
- seconds: time_t 타임스탬프 값입니다.
time.localtime([seconds])
코드에서는 localtime 함수를 사용하여 time() 함수가 반환한 현재 시간을 struct_time 객체로 변환하고, 이를 출력합니다.
import time
# 현재 시간 출력
timestamp = time.time()
lt = time.localtime(timestamp)
print("현재 시간(지역 시간):", lt)
5. time.strfrime
time.strfrimeg은 struct_time 객체를 지정한 형식의 문자열로 변환합니다.
strftime 함수는 다음과 같은 인자를 받습니다.
- format: struct_time 객체를 변환할 때 사용할 형식 문자열입니다.
- t: struct_time 객체입니다. 기본값은 None이며, localtime() 함수를 사용하여 현재 시간을 구합니다.
time.strftime(format[, t])
코드에서는 strftime 함수를 사용하여 현재 시간을 지정된 형식으로 출력합니다.
import time
# 현재 시간을 지정된 형식으로 출력
timestamp = time.time()
lt = time.localtime(timestamp)
formatted = time.strftime("%Y년 %m월 %d일 %H시 %M분 %S초", lt)
print("현재 시간(지역 시간):", formatted)
6. time.gmtime
time.gmtime은 UTC 시간을 나타내는 time_t 타임스탬프 값을 struct_time객체로 반환합니다.
gmtime 함수는 다음과 같은 인자를 받습니다.
- seconds: time_t 타임스탬프 값입니다.
time.gmtime([seconds])
코드에서는 gmtime 함수를 사용하여 time() 함수가 반환한 현재 시간을 struct_time 객체로 변환하고, 이를 출력합니다.
import time
# 현재 UTC 시간 출력
timestamp = time.time()
gt = time.gmtime(timestamp)
print("현재 시간(UTC):", gt)
7. time.mktime
time.mktime은 struct_time 객체를 time_t 타임스탬프 값으로 변환합니다.
mktime 함수는 다음과 같은 인자를 받습니다.
- t: struct_time 객체입니다.
time.mktime(t)
코드에서는 localtime 함수를 사용하여 time() 함수가 반환한 현재 시간을 struct_time 객체로 변환한 후, mktime 함수를 사용하여 이 객체를 time_t 타임스탬프 값으로 변환합니다.
import time
# 현재 시간 출력
timestamp = time.time()
lt = time.localtime(timestamp)
print("현재 시간(지역 시간):", lt)
# struct_time 객체를 time_t 타임스탬프 값으로 변환
mk = time.mktime(lt)
print("현재 시간(time_t):", mk)
8. time.asctime
time.asctime은 struct_time 객체를 사람이 읽을 수 있는 형식의 문자열로 변환합니다.
asctime 함수는 다음과 같은 인자를 받습니다.
- t: struct_time 객체입니다. 기본값은 None이며, 이 경우 localtime() 함수를 사용하여 현재 시간을 구합니다.
time.asctime([t])
코드에서는 asctime 함수를 사용하여 현재 시간을 사람이 읽을 수 있는 형식의 문자열로 변환하고, 이를 출력합니다.
import time
# 현재 시간을 asctime 형식으로 출력
timestamp = time.time()
lt = time.localtime(timestamp)
formatted = time.asctime(lt)
print("현재 시간(지역 시간):", formatted)
9. time.ctime
time.ctime는 time_t 타임스탬프 값을 사람이 읽을 수 있는 형식의 문자열로 변환합니다.
ctime 함수는 다음과 같은 인자를 받습니다.
- seconds: time_t 타임스탬프 값입니다. 기본값은 time() 함수를 사용하여 현재 시간을 반환한 값입니다.
time.ctime([seconds])
코드에서는 ctime 함수를 사용하여 현재 시간을 사람이 읽을 수 있는 형식의 문자열로 변환하고, 이를 출력합니다.
import time
# 현재 시간을 ctime 형식으로 출력
timestamp = time.time()
formatted = time.ctime(timestamp)
print("현재 시간(지역 시간):", formatted)
10. time.perf_counter
time.perf_counter는 현재 시스템 시간을 나타내는 시간값을 반환합니다. 이 함수는 컴퓨터의 시계를 사용하여 실행 시간을 아주 정확하게 측정해줍니다. 이 함수는 시간 차이만 중요하며, 컴퓨터에서 돌아가는 다른 프로그램이 이 함수에 영향을 주지 않습니다.
코드에서는 perf_counter 함수를 사용하여 실행 시간을 측정합니다.
import time
start_time = time.perf_counter()
# 실행시킬 코드
# ...
end_time = time.perf_counter()
print("실행 시간:", end_time - start_time)
11. time.process_time
time.process_time는 현재 프로세스의 CPU 시간을 반환합니다. 이 함수는 현재 프로세스에서 사용한 CPU 시간(처리 시간)을 알려줍니다. 즉, sleep하거나, 파일 읽기/쓰기 등은 처리 시간에 영향을 주지 않습니다.
코드에서는 process_time 함수를 사용하여 실행 시간을 측정합니다.
import time
start_time = time.process_time()
# 실행시킬 코드
# ...
end_time = time.process_time()
print("처리 시간:", end_time - start_time)
12. time.monotonic
time.monotonic는 프로그램이 실행되는 동안 경과한 시간을 반환합니다. 이 함수는 컴퓨터의 시계를 사용하여 실행 시간을 측정합니다. 시간 차이만 중요하며, 컴퓨터에서 돌아가는 다른 프로그램이나 시간을 바꾸는 작업등의 영향을 받지 않습니다.
코드에서는 monotonic 함수를 사용하여 경과 시간을 측정합니다.
import time
start_time = time.monotonic()
# 실행시킬 코드
# ...
end_time = time.monotonic()
print("경과 시간:", end_time - start_time)
13. time.thread_time
time.thread_time은 현재 스레드에서 사용한 CPU 시간을 반환합니다. 이 함수는 시스템의 CPU 사용 시간에 영향을 받지 않습니다. 즉, sleep이나 I/O 작업 등이 있어도 처리 시간에는 영향을 주지 않습니다.
코드에서는 thread_time 함수를 사용하여 실행 시간을 측정합니다.
import time
start_time = time.thread_time()
# 실행시킬 코드
# ...
end_time = time.thread_time()
print("처리 시간:", end_time - start_time)
14. time.time_ns
time.time_ns은 현재 시스템 시간을 나노초 단위의 정수 값으로 반환합니다. time() 함수와 유사하지만, 더 높은 정밀도로 시간 값을 반환합니다. 반환된 값은 1970년 1월 1일 0시 0분 0초(UTC)부터 경과한 나노초 시간 값입니다.
코드에서는 time_ns 함수를 사용하여 현재 시간을 나노초 단위의 정수 값으로 출력합니다.
import time
current_time = time.time_ns()
print("현재 시간(나노초):", current_time)
15. time.perf_counter_ns
time.perf_counter_ns은 현재 시스템 시간을 나노초 단위의 정수 값으로 반환합니다. perf_counter_ns 함수는 perf_counter() 함수와 유사하지만, 더 높은 정밀도로 시간 값을 반환합니다. 반환된 값은 프로세스가 시작된 이후 경과한 나노초 시간 값입니다.
코드에서는 perf_counter_ns 함수를 사용하여 실행 시간을 나노초 단위의 정수 값으로 측정합니다.
import time
start_time = time.perf_counter_ns()
# 실행시킬 코드
# ...
end_time = time.perf_counter_ns()
print("실행 시간(나노초):", end_time - start_time)