[Python 모듈] time : 시간과 관련된 기능을 제공하는 모듈

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)