파이썬에는 시간을 다루고 다양한 시간 표현 형식 간의 변환을 지원하는 time 모듈이 내장되어 있습니다. 이 모듈은 현재 시각 조회, 시간대 변환, 프로그램 실행 지연 등 실무에서 자주 사용되는 기능들을 제공합니다. 아래 표에서 time 모듈에서 사용할 수 있는 주요 함수들을 확인해 보세요.
time 모듈의 주요 함수 12가지
| 번호 | 함수 및 설명 |
|---|---|
| 1 | time.altzone 로컬 서머타임(DST) 시간대의 UTC 기준 오프셋을 초 단위로 반환합니다. 서머타임 시간대가 UTC보다 동쪽에 있는 경우(영국을 포함한 서유럽 등)에는 음수가 됩니다. daylight 값이 0이 아닐 때만 사용해야 합니다. |
| 2 | time.asctime([tupletime]) 시간 튜플(time-tuple)을 인수로 받아 'Tue Dec 11 18:07:14 2008'과 같은 읽기 쉬운 24자 문자열로 반환합니다. |
| 3 | time.clock() 현재 CPU 시간을 부동소수점 초 단위로 반환합니다. 알고리즘별 연산 비용을 측정할 때는 time.time()보다 time.clock()이 더 유용했습니다. 참고: 이 함수는 파이썬 3.3부터 폐기(deprecated)되었으며, 3.8 버전부터 완전히 제거되었습니다. 대신 time.perf_counter() 또는 time.process_time()을 사용하세요. |
| 4 | time.ctime([secs])asctime(localtime(secs))과 동일하게 동작하며, 인수 없이 호출하면 asctime()과 같습니다. |
| 5 | time.gmtime([secs]) 에포크(epoch) 이후 경과된 초 단위 시각을 받아 UTC 기준의 시간 튜플 t를 반환합니다. 참고: t.tm_isdst는 항상 0입니다. |
| 6 | time.localtime([secs]) 에포크 이후 경과된 초 단위 시각을 받아 현지(local) 시간 기준의 시간 튜플 t를 반환합니다. t.tm_isdst는 해당 시각에 서머타임이 적용되는지에 따라 0 또는 1의 값을 가집니다. |
| 7 | time.mktime(tupletime) 현지 시간 기준의 시간 튜플로 표현된 시각을 받아, 에포크 이후 경과된 초 단위 부동소수점 값으로 반환합니다. gmtime(), localtime()의 역변환 함수입니다. |
| 8 | time.sleep(secs) 호출한 스레드를 secs초 동안 일시 중지(suspend)합니다. 코드 실행 사이에 의도적인 지연을 만들 때 유용합니다. |
| 9 | time.strftime(fmt[, tupletime]) 현지 시간 기준의 시간 튜플로 표현된 시각을 받아, fmt 형식 문자열에 지정된 대로 변환한 문자열을 반환합니다. |
| 10 | time.strptime(str, fmt='%a %b %d %H:%M:%S %Y') 문자열 str을 fmt 형식 문자열에 따라 해석(parse)하고, 그 결과를 시간 튜플 형식으로 반환합니다. |
| 11 | time.time() 현재 시각을 에포크(1970년 1월 1일 00:00:00 UTC) 이후 경과된 초 단위 부동소수점 숫자로 반환합니다. |
| 12 | time.tzset() 라이브러리 루틴이 사용하는 시간 변환 규칙을 재설정합니다. 구체적인 동작 방식은 환경 변수 TZ에 의해 결정됩니다. |
위 함수들은 시각 정보를 얻고(time(), localtime(), gmtime()), 원하는 형식으로 변환하며(strftime(), strptime()), 실행 흐름을 제어하는(sleep()) 등 시간 처리의 전반적인 작업을 담당합니다.
time 모듈의 주요 속성
time 모듈에는 다음과 같은 두 가지 중요한 속성(attribute)이 있습니다.
| 번호 | 속성 및 설명 |
|---|---|
| 1 | time.timezone 현지 시간대(서머타임 제외)의 UTC로부터의 오프셋을 초 단위로 나타냅니다. 미주 지역에서는 0보다 크고, 유럽·아시아·아프리카 대부분 지역에서는 0 이하입니다. |
| 2 | time.tzname 서머타임 미적용 시의 시간대 이름과 적용 시의 시간대 이름을 담은, 로케일(locale)에 따라 달라지는 두 개의 문자열 쌍입니다. |