time 모듈

asda주asda·2022년 1월 30일
0

Python

목록 보기
16/31

time 모듈

time 모듈은 프로그래밍 과정에서의 실행 속도를 측정하거나, 현재 날짜를 출력 하는 등 날짜와, 시간을 처리할 때 활용된다.

time()

현재의 시간을 1970년 1월 1일 00시 00분 00초를 기준(UTCUniversal Time Coordinated,국제 표준 시간)으로 지난 시간을 초로 나타낸다.

import time
print(time.time())

출력 결과:
1643506114.3861022

이 함수를 이용하여 프로그램의 진행 시간을 확인할 수 있다.
아래의 코드는 피보나치 수열의 프로그램이 얼마나 시간이 걸리는지를 확인한다.

import time

def fib(n) : # 피보나치 수열 출력
	a, b = 0, 1
	while b <n:
		print(b, end=' ‘)
		a, b = b, a+b
	print()

start = time.time()
fib(1000)
end = time.time()
print(end-start)

출력 결과:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
0.0				# 컴퓨터에 따라 다르게 나타난다.

localtime()

localtime(sec)은 입력된 sec을 현지(한국)시간을 기준으로 변환해서 출력해준다.
만일 time이 공백이라면 time()이 디폴트 값으로 들어가 현재의 시간을 보여준다.

import time
print(time.localtime())
print(time.localtime(time.time()))
print(time.localtime(100))

출력 결과:
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=30, tm_hour=10, tm_min=31, tm_sec=12, tm_wday=6, tm_yday=30, tm_isdst=0)
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=30, tm_hour=10, tm_min=31, tm_sec=12, tm_wday=6, tm_yday=30, tm_isdst=0)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=1, tm_sec=40, tm_wday=3, tm_yday=1, tm_isdst=0)

위의 출력 결과에서 tm-wday은 월요일(0)에서 일요일(6)을 나타내준다. tm-yday는 1월 1일에서 경과한 일수를, tm-isdest는 서머타임의 여부(0 또는 -1)를 나타내준다.

gmtime()

localtime(sec)이 현지를 기준으로 했다면, gmtime(sec)은 초를 UTC를 기준으로 나타내준다.

import time
print(time.localtime(time.time()))
print(time.gmtime(time.time()))

출력 결과
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=30, tm_hour=10, tm_min=36, tm_sec=1, tm_wday=6, tm_yday=30, tm_isdst=0)
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=30, tm_hour=1, tm_min=36, tm_sec=1, tm_wday=6, tm_yday=30, tm_isdst=0)

strftime()

앞의 gmtime(), localtime()으로 생성된 객체를 strftime()을 이용하여 문자열로 보기좋게 정리할 수 있다.

import time
print(time.localtime(time.time()))
time_now = time.strftime('%Y-%m-%d', time.localtime(time.time()))
print(time_now)

출력 결과:
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=30, tm_hour=10, tm_min=38, tm_sec=41, tm_wday=6, tm_yday=30, tm_isdst=0)
2022-01-30

아래는 날짜, 시간의 표기 코드표이다.

코드설명
%a요일 줄임말Sun, Mon, ..., Sat
%A요일Sunday, Monday, ..., Saturday
%w요일을 숫자로 표시, 월요일(0)~일요일(6)0, 1, ..., 6
%d01, 02, ..., 31
%b월의 줄임말Jan, Feb, ..., Dec
%BJanuary, February, ..., December
%m숫자 월01, 02, ..., 12
%y두 자릿수 연도01, 02, ..., 99
%Y네 자릿수 연도0001, 0002, ..., 9999
%H시간(24시간)00, 01, ..., 23
%I시간(12시간)000, 01, ..., 12
%pAM, PMAM, PM
%M00, 01, ..., 59
%S00, 01, ..., 59
%Z시간대대한민국 표준시
%j1월 1일부터 경과한 일수001, 002, ..., 366
%U1년중 주차, 월요일이 한 주의 시작으로00, 01, ..., 53
%W1년중 주차, 월요일이 한 주의 시작으로00, 01, ..., 53
%c날짜, 요일, 시간을 출력, 현재 시간대 기준Sat May 19 11:14:27 2018
%x날짜를 출력, 현재 시간대 기준05/19/18
%X시간을 출력, 현재 시간대 기준'11:44:22'

asctime()

asctime() 함수는 현재 날짜와 시간을 문자열 형태로 표시한다.

import time
print(time.asctime())
출력결과
Thu May 13 10:16:58 2021

sleep()

sleep(sec)는 입력된 초만큼 스레드를 중지시킨다. 여기서 스레드는 프로그램의 진행의 흐름을 말한다.

import time
print(time.asctime())
time.sleep(5)
# 5초가 지나고 난 후 hello가 출력된다.
print('hello')

출력 결과:
Sun Jan 30 10:53:01 2022
hello

0개의 댓글

관련 채용 정보