지난 포스팅에서는 파이썬 표준 라이브러리 중 datetime.date 에 대해 공부 해봤습니다.
이번 포스팅에서는 파이썬 표준 라이브러리 중 time 에 대해 공부 해 보도록 하겠습니다.
- 66. 파이썬 내장 함수 round sorted str sum tuple type zip
- 65. 파이썬 내장 함수 max min oct open ord pow range
- 64. 파이썬 내장 함수 len list map
파이썬 표준 라이브러리
time
time 모듈은 시간과 관련된 모듈이고 함수가 굉장히 많습니다.
그 중 몇 가지를 알아 보겠습니다
time.time
time.time() 은 UTC(Universal Time Coordinated 협정 세계 표준시) 를 사용해서 현재 시간을 실수 형태로 리턴 해주는 함수 입니다.
1970 년 1 월 1 일 0 시 0 분 0 초를 기준으로 지난 시간을 초 단위로 돌려주게 됩니다.
>>> import time
>>> time.time()
1683268596.0582168
>>> 1683268596.0582168 / 60 / 60 / 24 # 며칠이 경과한지 계산
19482.275417340472
>>> 19482.275417340472 / 365 # 몇 년이 지났는지 계산
53.376097033809515
>>>
time.localtime
time.localtime 은 time.time() 이 리턴한 실수 값을 사용해서 연도와 월, 일, 시, 분, 초, … 의 형태로 바꾸어 주는 함수 입니다.
>>> time.localtime(time.time())
time.struct_time(tm_year=2023, tm_mon=5, tm_mday=5, tm_hour=15, tm_min=39, tm_sec=7, tm_wday=4, tm_yday=125, tm_isdst=0)
>>>
time.asctime
time.asctime 은 위 time.localtime 에서 반환된 튜플 형태의 값을 인수로 받아서 날짜와 시간을 알아보기 쉬운 형태로 리턴을 해주는 함수입니다.
>>> time.asctime(time.localtime(time.time()))
'Fri May 5 15:40:59 2023'
>>>
time.ctime
앞전에 사용한 time.asctime(time.localtime(time.time())) 를 time.ctime() 을 사용해서 간편하게 표시 할 수 있습니다. 앞전에 사용한 time.asctime 과 다른 점은 ctime 은 항상 현재 시간 만을 리턴 한다는 점입니다.
>>> time.ctime()
'Fri May 5 15:43:13 2023'
>>>
time.strftime
strftime 함수는 시간에 관련된 것들을 세밀하게 표현하는 여러가지의 포맷 코드를 제공해 줍니다.
time.strftime('출력할 형식 포맷 코드', time.localtime(time.time()))
시간에 관련된 것들을 표현하는 포맷 코드들
- %a : 요일의 줄임말 (Mon)
- %A : 요일 (Monday)
- %b : 달의 줄임말 (Jan)
- %B : 달 (January)
- %c : 날짜와 시간을 출력 (06/01/01 17:22:21)
- %d : 날 – day [01,31]
- %H : 시간 – Hour – 24 시간 형식 [00,23]
- %l : 시간 – Hour – 12 시간 형식 [01,12]
- %j : 1년 중 누적 날짜 [001, 366]
- %m : 달 [01,12]
- % M : 분 [01,59]
- %p : AM or PM (AM)
- %s : 초 [00,59]
- %U : 1년 중 누적 주 – 일요일을 시작으로 [00,53]
- %w : 숫자로 된 요일 [0(일요일),6]
- %W : 1년 중 누적 주 – 월요일을 시작으로 [00,53]
- %x : 현재 설정된 로케일에 기반한 날짜 출력 (06/01/01)
- %X : 현재 설정된 로케일에 기반한 시간 출력 (17:22:21)
- %Y : 년도 출력 (2002)
- %Z : 시간대 출력 (대한민국 표준시)
- %% : 문자 (%)
- %y : 세기부분을 제외한 년도 출력 (01)
time.strftime 을 사용하는 코드 예제입니다.
>>> import time
>>> time.strftime('%x', time.localtime(time.time()))
'05/05/23'
>>> time.strftime('%c', time.localtime(time.time()))
'Fri May 5 18:52:59 2023'
>>>
time.sleep
time.sleep 함수의 경우 주로 루프 안에서 사용이 됩니다.
time.sleep 함수를 사용하게 되면 일정한 시간 간격을 두고 루프를 실행해 볼 수 있습니다.
# sleep.py
import time
for i in range(10):
print(i)
time.sleep(1)
위의 코드를 실행을 해보면 1초 간격으로 0 부터 9 까지의 숫자를 출력을 하게 됩니다.
time.sleep 의 인수는 실수 형태를 사용 할 수 있습니다.
만약 1이면 1초, 0.5 라면 0.5 초가 되는 것입니다.~
- 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
