Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 time 모듈 완벽 가이드: 주요 함수와 속성 총정리


파이썬에는 시간을 다루고 다양한 시간 표현 형식 간의 변환을 지원하는 time 모듈이 내장되어 있습니다. 이 모듈은 현재 시각 조회, 시간대 변환, 프로그램 실행 지연 등 실무에서 자주 사용되는 기능들을 제공합니다. 아래 표에서 time 모듈에서 사용할 수 있는 주요 함수들을 확인해 보세요.

time 모듈의 주요 함수 12가지

번호함수 및 설명
1time.altzone
로컬 서머타임(DST) 시간대의 UTC 기준 오프셋을 초 단위로 반환합니다. 서머타임 시간대가 UTC보다 동쪽에 있는 경우(영국을 포함한 서유럽 등)에는 음수가 됩니다. daylight 값이 0이 아닐 때만 사용해야 합니다.
2time.asctime([tupletime])
시간 튜플(time-tuple)을 인수로 받아 'Tue Dec 11 18:07:14 2008'과 같은 읽기 쉬운 24자 문자열로 반환합니다.
3time.clock()
현재 CPU 시간을 부동소수점 초 단위로 반환합니다. 알고리즘별 연산 비용을 측정할 때는 time.time()보다 time.clock()이 더 유용했습니다.

참고: 이 함수는 파이썬 3.3부터 폐기(deprecated)되었으며, 3.8 버전부터 완전히 제거되었습니다. 대신 time.perf_counter() 또는 time.process_time()을 사용하세요.
4time.ctime([secs])
asctime(localtime(secs))과 동일하게 동작하며, 인수 없이 호출하면 asctime()과 같습니다.
5time.gmtime([secs])
에포크(epoch) 이후 경과된 초 단위 시각을 받아 UTC 기준의 시간 튜플 t를 반환합니다. 참고: t.tm_isdst는 항상 0입니다.
6time.localtime([secs])
에포크 이후 경과된 초 단위 시각을 받아 현지(local) 시간 기준의 시간 튜플 t를 반환합니다. t.tm_isdst는 해당 시각에 서머타임이 적용되는지에 따라 0 또는 1의 값을 가집니다.
7time.mktime(tupletime)
현지 시간 기준의 시간 튜플로 표현된 시각을 받아, 에포크 이후 경과된 초 단위 부동소수점 값으로 반환합니다. gmtime(), localtime()의 역변환 함수입니다.
8time.sleep(secs)
호출한 스레드를 secs초 동안 일시 중지(suspend)합니다. 코드 실행 사이에 의도적인 지연을 만들 때 유용합니다.
9time.strftime(fmt[, tupletime])
현지 시간 기준의 시간 튜플로 표현된 시각을 받아, fmt 형식 문자열에 지정된 대로 변환한 문자열을 반환합니다.
10time.strptime(str, fmt='%a %b %d %H:%M:%S %Y')
문자열 str을 fmt 형식 문자열에 따라 해석(parse)하고, 그 결과를 시간 튜플 형식으로 반환합니다.
11time.time()
현재 시각을 에포크(1970년 1월 1일 00:00:00 UTC) 이후 경과된 초 단위 부동소수점 숫자로 반환합니다.
12time.tzset()
라이브러리 루틴이 사용하는 시간 변환 규칙을 재설정합니다. 구체적인 동작 방식은 환경 변수 TZ에 의해 결정됩니다.

위 함수들은 시각 정보를 얻고(time(), localtime(), gmtime()), 원하는 형식으로 변환하며(strftime(), strptime()), 실행 흐름을 제어하는(sleep()) 등 시간 처리의 전반적인 작업을 담당합니다.

time 모듈의 주요 속성

time 모듈에는 다음과 같은 두 가지 중요한 속성(attribute)이 있습니다.

번호속성 및 설명
1time.timezone
현지 시간대(서머타임 제외)의 UTC로부터의 오프셋을 초 단위로 나타냅니다. 미주 지역에서는 0보다 크고, 유럽·아시아·아프리카 대부분 지역에서는 0 이하입니다.
2time.tzname
서머타임 미적용 시의 시간대 이름과 적용 시의 시간대 이름을 담은, 로케일(locale)에 따라 달라지는 두 개의 문자열 쌍입니다.