이번 글에서는 좋은 예시를 통해 시간 모듈과 이 모듈이 제공하는 다양한 기능에 대해 설명하겠습니다.
이름에서 알 수 있듯이 Python 시간 모듈은 시간 작업을 허용합니다. 파이썬 . 현재 시간 가져오기, 프로그램 실행 일시 중지 등과 같은 기능을 허용합니다. 따라서 이 모듈을 시작하기 전에 모듈을 가져와야 합니다.
시간 모듈 가져오기
time 모듈은 Python의 표준 유틸리티 모듈과 함께 제공되므로 외부에 설치할 필요가 없습니다. 우리는 다음을 사용하여 간단히 가져올 수 있습니다. 수입 명세서 .
import time>
시대란 무엇인가?
에포크는 시간이 시작되는 지점이며 플랫폼에 따라 다릅니다. Windows 및 대부분의 Unix 시스템에서 에포크는 1970년 1월 1일 00:00:00(UTC)이며 윤초는 에포크 이후의 시간(초)에 계산되지 않습니다. 특정 플랫폼에서 시대가 무엇인지 확인하려면 다음을 사용할 수 있습니다. 시간.gmtime(0) .
예: 시대를 맞이하다
코드는time>결과를 출력하는 모듈time.gmtime(0)>는 Unix 시대(1970년 1월 1일, 00:00:00 UTC)의 GMT(그리니치 표준시) 시간대 시간을 나타냅니다.
파이썬3
import> time> print>(time.gmtime(>0>))> |
>
>
산출:
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
메모: 에포크 이전의 시간은 여전히 초 단위로 표시될 수 있지만 음수가 됩니다. 예를 들어, 1969년 12월 31일은 -86400초로 표시됩니다.
에포크 이후 현재 시간을 초 단위로 가져오기
시간.시간() 메소드는 epoch 이후의 현재 시간을 초 단위로 반환합니다. 부동 소수점 숫자를 반환합니다.
예: 에포크 이후 현재 시간(초)
코드는time>Unix 시대(1970년 1월 1일) 이후의 현재 시간을 초 단위로 검색하는 모듈입니다.
파이썬3
import> time> curr>=> time.time()> print>(>'Current time in seconds since epoch ='>, curr)> |
>
>산출
Current time in seconds since epoch = 1627908387.764925>
초 단위로 시간 문자열 가져오기
시간.ctime() 함수는 24자 시간 문자열을 반환하지만 초를 인수로 사용하고 언급된 초까지의 시간을 계산합니다. 인수가 전달되지 않으면 현재까지의 시간이 계산됩니다.
예: 초 단위로 시간 문자열 가져오기
코드는time>지정된 타임스탬프(1627908313.717886)를 사람이 읽을 수 있는 날짜 및 시간 형식으로 변환하는 모듈입니다.
파이썬3
import> time> curr>=> time.ctime(>1627908313.717886>)> print>(>'Current time:'>, curr)> |
>
>산출
Current time: Mon Aug 2 12:45:13 2021>
프로그램 실행 지연
다음을 사용하여 실행을 지연할 수 있습니다. 시간.수면() 방법. 이 메소드는 인수에 지정된 시간 동안 프로그램 실행을 중지하는 데 사용됩니다.
예: Python에서 프로그램 실행 시간을 지연시킵니다.
이 코드는time>다음을 사용하여 1초 지연을 도입하는 모듈 time.sleep(1)> 4번 반복되는 루프 내부.
파이썬3
import> time> for> i>in> range>(>4>):> >time.sleep(>1>)> >print>(i)> |
>
>산출
0 1 2 3>
time.struct_time 클래스
구조체_시간 클래스는 현지 시간, 즉 획기적인 타임스탬프에 액세스하는 데 도움이 됩니다. 인덱스와 속성 이름 모두에서 값에 액세스할 수 있는 명명된 튜플을 반환합니다. 해당 개체에는 다음 속성이 포함되어 있습니다.
| 색인 | 속성 이름 | 가치 |
|---|---|---|
| 0 | tm_년 | 0000, …, 9999 |
| 1 | tm_mon | 1, 2, …, 11, 12 |
| 2 | tm_mday | 1, 2, …, 30, 31 |
| 삼 | tm_시간 | 0, 1, ..., 22, 23 |
| 4 | tm_min | 0, 1, ..., 58, 59 |
| 5 | tm_sec | 0, 1, …, 60, 61 |
| 6 | tm_wday | 0, 1, …, 6; 일요일은 6시 |
| 7 | tm_yday | 1, 2, …, 365, 366 |
| 8 | tm_isdst | 0, 1 또는 -1 |
이 클래스에는 다양한 기능이 포함되어 있습니다. 각 기능에 대해 자세히 살펴보겠습니다.
time.localtime() 메서드
현지 시각() 메소드는 현지 시간으로 struct_time 객체를 반환합니다. epoch 이후 경과된 초 수를 인수로 사용합니다. 초 매개변수가 제공되지 않으면 time.time() 메소드에서 반환된 현재 시간이 사용됩니다.
예: epoch에서 현지 시간 가져오기
코드는time>지정된 타임스탬프(1627987508.6496193)를 time.struct_time> 해당 날짜와 시간을 나타내는 객체입니다.
자바의 추상 클래스
파이썬3
import> time> obj>=> time.localtime(>1627987508.6496193>)> print>(obj)> |
>
>
산출
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=16, tm_min=15, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)
time.mktime() 메서드
시간.mktime() epoch 이후 초 단위로 표현된 시간을 현지 시간의 time.struct_time 객체로 변환하는 time.localtime()의 역함수입니다.
예: 변환하는 중 구조체_시간 에포크 이후 초 단위로 반대
이 코드는 먼저time>지정된 타임스탬프(1627987508.6496193)를 time.struct_time> 다음을 사용하여 GMT(그리니치 표준시) 시간대의 객체 time.gmtime()> . 그런 다음 사용합니다. time.mktime()> 이것을 변환하려면 time.struct_time> 개체를 타임스탬프로 다시 가져옵니다.
파이썬3
import> time> obj1>=> time.gmtime(>1627987508.6496193>)> time_sec>=> time.mktime(obj1)> print>(>'Local time (in seconds):'>, time_sec)> |
>
>산출
Local time (in seconds): 1627987508.0>
time.gmtime() 메서드
시간.gmtime() epoch 이후 초 단위로 표현된 시간을 tm_isdst 속성이 항상 0인 UTC의 time.struct_time 객체로 변환하는 데 사용됩니다. 초 매개변수가 제공되지 않으면 time.time() 메서드에서 반환된 현재 시간이 사용됩니다.
예: 사용 시간.gmtime() 방법
코드는time>지정된 타임스탬프(1627987508.6496193)를 time.struct_time> GMT(그리니치 표준시) 시간대에서 해당 날짜와 시간을 나타내는 객체입니다.
파이썬3
import> time> obj>=> time.gmtime(>1627987508.6496193>)> print>(obj)> |
>
>
산출
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)
time.strftime() 메서드
시간.strf시간() 함수는 gmtime() 또는 localtime()에 의해 반환된 시간을 나타내는 튜플 또는 struct_time을 형식 인수에 지정된 문자열로 변환합니다. t가 제공되지 않으면 localtime()에서 반환된 현재 시간이 사용됩니다. 형식은 문자열이어야 합니다. t의 필드가 허용 범위를 벗어나면 ValueError가 발생합니다.
예: 변환 중 구조체_시간 strftime() 메소드를 사용하여 문자열에 대한 객체
코드는 gmtime> 에서 기능time>다음을 사용하여 지정된 타임스탬프(1627987508.6496193)를 형식화된 문자열로 변환하는 모듈strftime>. 출력은 형식 문자열에 지정된 형식으로 GMT(그리니치 표준시) 시간대의 날짜 및 시간을 나타냅니다.
파이썬3
자바에서 메소드를 호출하는 방법
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)> |
>
>산출
Tue, 03 Aug 2021 10:45:08>
time.asctime() 메서드
시간.asctime() 메서드는 time.gmtime() 또는 time.localtime() 메서드에서 반환된 시간을 나타내는 튜플이나 time.struct_time 객체를 다음 형식의 문자열로 변환하는 데 사용됩니다.
Day Mon Date Hour:Min:Sec Year>
예: 튜플을 time.struct_time 객체로 문자열로 변환
이 코드는time>다음을 사용하여 지정된 타임스탬프(1627987508.6496193)를 사람이 읽을 수 있는 날짜 및 시간 형식으로 변환하는 모듈 time.asctime()> . GMT(그리니치 표준시) 시간대와 현지 시간대 모두에 적용됩니다.
파이썬3
import> time> obj>=> time.gmtime(>1627987508.6496193>)> time_str>=> time.asctime(obj)> print>(time_str)> obj>=> time.localtime(>1627987508.6496193>)> time_str>=> time.asctime(obj)> print>(time_str)> |
>
>산출
Tue Aug 3 10:45:08 2021 Tue Aug 3 10:45:08 2021>
time.strptime() 메서드
time.strptime() 메소드는 시간을 나타내는 문자열을 struct_time 객체로 변환합니다.
예: 문자열을 다음으로 변환 구조체_시간 물체.
이 코드는time>날짜와 시간을 나타내는 형식화된 문자열을 구문 분석하고 이를 time.struct_time> 물체. 그만큼time.strptime()>함수는 이런 목적으로 사용됩니다.
파이썬3
import> time> string>=> 'Tue, 03 Aug 2021 10:45:08'> obj>=> time.strptime(string,>'%a, %d %b %Y %H:%M:%S'>)> print>(obj)> |
>
>
산출
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=-1)