>  기사  >  백엔드 개발  >  Python의 시간 모듈에 대해 자세히 알아보기

Python의 시간 모듈에 대해 자세히 알아보기

零到壹度
零到壹度원래의
2018-04-14 11:33:011953검색

이 글의 내용은 Python의 시간 모듈에 대한 심층적인 이해를 공유하기 위한 것입니다. 특정 참조 값이 있습니다. 필요한 친구가 참조할 수 있습니다.

Python에서는 시간 처리와 관련된 모듈이 포함됩니다. : 시간, 날짜/시간 및 달력. 이 글에서는 주로 time 모듈을 설명합니다.

시작하기 전에 먼저 다음 사항을 설명해야 합니다.

  1. Python에는 일반적으로 시간을 나타내는 여러 가지 방법이 있습니다. 1) 타임스탬프 2) 형식화된 시간 문자열 3) 튜플( struct_time)에는 총 9개의 요소가 있습니다. . Python의 시간 모듈 구현은 주로 C 라이브러리를 호출하므로 각 플랫폼이 다를 수 있습니다.

  2. UTC(협정 세계시)는 그리니치 천문시, 세계 표준시입니다. 중국에서는 UTC+8입니다. DST(일광 절약 시간)는 일광 절약 시간입니다.

  3. 타임스탬프(타임스탬프) 방법: 일반적으로 타임스탬프는 1970년 1월 1일 00:00:00부터 시작하는 오프셋을 초 단위로 나타냅니다. "type(time.time())"을 실행하고 반환 유형은 float입니다. 타임스탬프를 반환하는 함수에는 주로 time(), clock() 등이 있습니다.

  4. Tuple(struct_time) 메서드: struct_time 튜플에는 총 9개의 요소가 있습니다. struct_time을 반환하는 함수에는 주로 gmtime(), localtime() 및 strptime()이 포함됩니다. 아래에는 이러한 방식으로 튜플의 여러 요소가 나열되어 있습니다.

56 1-366 기본값 -1
색인 속성 값 ​​
0 tm_연도(연도) 예: 2011
1 tm_mon(월) 1 - 12
2 tm_mday(일) 1 - 31
3 tm_hour(시간) 0 - 23
4 tm_min(분) 0 - 59
tm_sec(초) 0 - 61
tm_wday(평일) 0 - 6(0은 요일을 의미함) m7 TM_YDAY(새해의 첫날)
8 TM_ISDST(여름철인지 여부)

그런 다음 시간 모듈에서 일반적으로 사용되는 몇 가지 함수를 소개합니다.

1) time.localtime([secs]): 타임스탬프를 현재 시간대의 struct_time으로 변환합니다. secs 매개변수가 제공되지 않으면 현재 시간이 우선 적용됩니다.

>>> time.localtime()
time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=14, tm_sec=50, tm_wday=3, tm_yday=125, tm_isdst=0)
> tm_yday=125, tm_isdst=0)

2)time.gmtime([secs]): localtime() 메서드와 유사하게 gmtime() 메서드는 타임스탬프를 변환합니다. struct_time의 UTC 시간대(0 time zone )입니다.

>> 125, tm_isdst=0)


참고: tm_wday=3 여기서는 요일을 나타내지만 이 반환 값을 기준으로 하루 뒤로 푸시되어야 하며 이는 수요일이 아닌 목요일을 의미합니다.

3)time.

time()

: 현재 시간의 타임스탬프를 반환합니다. >>> 시간.시간() 1304575584.1361799

4)time.mktime(t): struct_time을 타임스탬프로 변환합니다.

>>> time.mktime(time.localtime())
1304576839.0

5)time.sleep(secs): 스레드가 지정된 시간 동안 실행을 지연합니다. 단위는 초입니다.

6) time.clock(): 이는 시스템에 따라 의미가 다르다는 점에 유의하세요. UNIX 시스템에서는 초 단위로 표현되는 부동 소수점 숫자(타임스탬프)인 "프로세스 시간"을 반환합니다. WINDOWS에서 첫 번째 호출은 프로세스가 실행 중인 실제 시간을 반환합니다. 두 번째 이후의 호출은 첫 번째 호출 이후부터 현재까지의 실행 시간입니다. (실제로 밀리초 표현보다 더 정확한 WIN32의 QueryPerformanceCounter()를 기반으로 함)

import time    
if __name__ == '__main__':    
    time.sleep(1)    
    print "clock1:%s" % time.clock()    
    time.sleep(1)    
    print "clock2:%s" % time.clock()    
    time.sleep(1)    
    print "clock3:%s" % time.clock()
clock1:3.35238137808e-006

실행 결과: clock2:1. 000 04944763

clock3 :2.00012040636


첫 번째 clock()은 프로그램 실행 시간을 출력합니다

두 번째 및 세 번째 clock() 출력은 첫 번째 시계의 시간 간격입니다

7)time.asctime([t]): 다음 형식으로 시간을 나타내는 튜플 또는 struct_time을 나타냅니다. 'Sun Jun 20 23:21:05 1993'. 매개변수가 없으면 time.localtime()이 매개변수로 전달됩니다.

> 초 단위로 계산된 부동 소수점 숫자)는 time.asctime() 형식으로 변환됩니다. 매개변수가 제공되지 않거나 None이면 기본적으로 time.time()이 매개변수로 사용됩니다. 해당 기능은 time.asctime(time.localtime(secs))과 동일합니다.

>>> time.ctime()

'2011년 5월 5일 목요일 14:58:09'>>> time.ctime(time.time())'5월 5일 목요일 14:58 :39 2011' > : 시간 또는 struct_time(예: time.localtime() 및 time.gmtime()에서 반환)을 나타내는 튜플을 형식화된 시간 문자열로 변환합니다. t를 지정하지 않으면 time.localtime()이 전달됩니다. 튜플의 요소가 범위를 벗어나면 ValueError가 발생합니다. ㅋㅋㅋ

%B%Y%Z%%

Remarks:

  1. "%p"는 "%I"와 함께 사용할 때만 효과적입니다.

  2. 문서에서는 실제로 59가 아닌 0~61이며, 윤년초가 2초를 차지한다고 강조하고 있습니다(땀 1개).

  3. strptime() 함수를 사용할 때 %U 및 %W는 해당 연도의 주 및 일 수가 결정될 때만 계산됩니다.

예:

>>> time.strftime("%Y-%m-%d %X", time.localtime())
'2011-05-05 16:37: 06 '

10)time.strptime(string[, format]): 형식이 지정된 시간 문자열을 struct_time으로 변환합니다. 실제로는 strftime()의 역연산입니다.

>>> time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X')
time.struct_time(tm_year=2011, tm_mon=5 , tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, ​​​​tm_wday=3, tm_yday=125, tm_isdst=-1)

이 함수에서 기본 형식은 다음과 같습니다:"%a %b % d % H:%M:%S %Y".

마지막으로 시간 모듈을 요약해 보겠습니다. 이전 설명에 따르면 Python에는 세 가지 표현 방법이 있습니다: 1) 타임스탬프 2) 튜플 또는 struct_time 3) 형식화된 문자열.

그들 사이의 변환은 그림과 같습니다:


관련 권장 사항:

Python 시간에 대한 자세한 설명

python 시간 라이브러리

python 시간 모듈

Python 시간 모듈 시간 모듈 분석

%b 지역 단순화된 월 이름

지역 전체 월 이름
%c 해당 현지 날짜 및 시간 표현
%d 일(01~31)
%H 어느 날 시(24시간제, 00 - 23)
%I 시(12시간제, 01 - 12)
%j 요일 (001 - 366)
%m 월 (01 - 12)
%M 분(00~59)
%p 현지 am 또는 pm에 해당하는 문자 one
%S 초(01 - 61) two
%U 년도. (일요일 00 - 53이 주의 시작입니다.) 첫 번째 일요일 이전의 모든 날은 주 0에 배치됩니다.
%w 요일(0 - 6, 0은 일요일)
%W 은 %W가 월요일은 한주의 시작입니다.
%x 현지 대응 날짜
%
연간
시간대 이름( 존재하지 않으면 null 문자)
'%' 문자

위 내용은 Python의 시간 모듈에 대해 자세히 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.