본문 바로가기

PYTHON

TIME 모듈

time 모듈

time모듈은 python 내에서 시간을 다룰때 유용한 모듈이다.

입력한 숫자와 문자를 날짜 형식으로 바꿀 수 있고 time을 이용해 시간과 날짜를 구할 수 있다.



struct_time 이해하기

time모듈을 사용해 시간을 검색하면 아래와 같이 출력된다.

time.struct_time(tm_year=2018(년도), tm_mon=12(달), tm_mday=13(일), tm_hour=17(시간), 

tm_min=50(분), tm_sec=48(초), tm_wday=3(요일), tm_yday=347(이번년도 경과 일), tm_isdst=0(썸머타임))



time 모듈 매서드

1. time.time()

1970년 1월 1일 0시 0분 0초를 기준으로 현재까지를 초단위로 리턴한다.


2. time.localtime('time.time()의 초')

time()에 의해서 반환되는 실수값을 이용해서 struct_time 구조로 바꿔 주는 함수이다.

time.localtime() 으로 none값을 입력하면 현재 시간을 알려준다. 

secs은 time.time()에 의한 초단위 시간을 struct_time 구조로 바꾸어 준다.


3. time.asctime(time.localtime(time.time()))

localtime()에 의해 변환된 struct_time구조를 알아보기 쉬운 구조로 변환해준다.

※time.ctime()은 현재 시간을 time.asctime과 같은 구조로 나오게한다.


4. time.strftime('포멧코드',struct_time구조)

struct_time구조를 포멧에 맡게 출력한다.

strtime은 struct_time으로 아래 표를 참조해야한다.


%Y  Year with century as a decimal number. 년 리턴

%m  Month as a decimal number [01,12]. 달 리턴

%d  Day of the month as a decimal number [01,31]. 일 리턴

%H  Hour (24-hour clock) as a decimal number [00,23]. 시간을 24시간으로 리턴

%M  Minute as a decimal number [00,59]. 분 리턴

%S  Second as a decimal number [00,61]. 초 리턴

%z  Time zone offset from UTC. 현재 위치 시간과 UTC차

※UTC : 협정세계시

%a  Locale's abbreviated weekday name. 요일 리턴(Mon , Thu , Sun)

%A  Locale's full weekday name. 요일 풀네임 리턴(Monday)

%b  Locale's abbreviated month name. 달 리턴(Jan)

%B  Locale's full month name.  풀네임 리턴(January)

%c  Locale's appropriate date and time representation. 날짜와 시간 리턴

%I  Hour (12-hour clock) as a decimal number [01,12]. 시간을 12시간으로 리턴

%p  Locale's equivalent of either AM or PM. 오전 오후 리턴


예) 2018-12-12 -> %Y-%m-%d

2018은 년도%Y / 12는 달%m /12는 일%d 로 strct_time으로 만든다.


5. time.sleep('시간')

코드를 실행시 sleep을 준다. (입력한 시간만큼 멈췄다가 실행된다.)




※Tip

프로그램 실행 시간 계산하기

datetime 모듈을 사용해 프로그램 실행 시간을 계산할 수 있다.


from datetime import datetime

start = datetime.now()

#현재 시간을 start에 저장한다.

print('1에서 백만까지 더합니다.')

ret=0

for i in range(1,100000):

    ret +=i

print('1에서 백만까지 더한 결과:%d'%ret)

end=datetime.now()

#현재 시간을 end에 저장한다.

elapsed = end-start

#시작시간과 끝나는 시간의 차는 경과 시간이다.(elapsed의 자료형은 timedelta이다.)

print('총 계산 시간:%d'%elapsed)

elapsed_ms=int(elapsed.total_seconds()*1000)

print('총 계산 시간:%d'%elapsed_ms)

'PYTHON' 카테고리의 다른 글

OS 모듈  (0) 2018.12.13