Python 기본 타임 라 이브 러 리 상세 설명

머리말
타임 라 이브 러 리 는 다양한 종류의 시 계 를 실행 합 니 다.이 시 계 는 다른 장면 에 사 용 됩 니 다.이 편 은 타임 라 이브 러 리 의 응용 지식 을 상세 하 게 설명 할 것 이다.
2.각종 시계 가 져 오기
타임 라 이브 러 리 는 다양한 종류의 시 계 를 제공 합 니 다.다음은 이 시계 들 을 직접 가 져 와 구체 적 인 용 도 를 비교 해 보 자.구체 적 인 코드 는 다음 과 같다.

import time

print(time.monotonic())
print(time.monotonic_ns())
print(time.perf_counter())
print(time.perf_counter_ns())
print(time.process_time())
print(time.process_time_ns())
print(time.time())
print(time.time_ns())
위의 코드 의 구체 적 인 의 미 는 다음 과 같다.
1.monotonic:장시간 실행 되 는 프로 세 스 의 시간 을 측정 하 는 데 사 용 됩 니 다.시스템 시간 이 바 뀌 더 라 도 이 시계 가 역전 되 지 않도록 보장 할 수 있 기 때 문 입 니 다.
2.perf_counter:가장 높 은 해상 도 를 가 진 시계 에 접근 할 수 있 도록 합 니 다.짧 은 시간 측정 이 더욱 정확 합 니 다.
3.process_time:프로세서 시간 과 시스템 시간의 조합 결 과 를 되 돌려 줍 니 다.
4.time:'기원'에서 시 작 된 초 수 를 되 돌려 줍 니 다.UNIX 시스템 은 1970 년 1 월 1 일 00:00 부터 계산 된다.
실행 후 효 과 는 다음 과 같 습 니 다.
比较时钟
ns 접미사 에 대해 서 는 나 초 시간 을 되 돌려 줍 니 다.
3.현재 시간 가 져 오기
time.time()함 수 는'기원'시간 을 가 져 오 는 것 입 니 다.초 분 의 환산 을 통 해 나타 난 날짜 시간 을 계산 할 수 있 습 니까?
물론 입 니 다.하지만 너무 번 거 롭 습 니 다.time 라 이브 러 리 는 더 간단 한 함수 time.ctime()를 제공 하여 현재 날짜 와 시간 을 가 져 옵 니 다.구체 적 인 코드 는 다음 과 같다.

import time
print(time.ctime())
실행 후 효 과 는 다음 과 같 습 니 다.
显示当前时间
토요일:Sat,월 4 월 10 일:Apr 10,년도:2021 및 현재 시간 으로 돌 아 왔 습 니 다.
4.시간 가감 법
time.ctime()함수 의 매개 변수 용법 을 파악 했다 면 시간 을 계산 하 는 가감 법 도 쉽게 이 루어 질 수 있 습 니 다.그러나 주의해 야 할 것 은 가감 한 인 자 를 모두 초 로 바 꿔 야 한 다 는 것 이다.예 를 들 어 하루 후에 86400 을 추가 하 는 것 이다.구체 적 인 코드 는 다음 과 같다.

import time
#      
print(time.ctime())
#      
later=time.time()+86400
#        
print(time.ctime(later))
#  20     
print(time.ctime(time.time()+20))
실행 후 효 과 는 다음 과 같 습 니 다.
时间计算
strptime()함수
위의 코드 는 시간 을 얻 고 계산 할 수 있 지만 얻 는 시간 은 매우 막연 하 다.예 를 들 어 달력 프로그램 은 오늘 이 무슨 요일 인지 만 계산 하고 다른 데 이 터 를 알 필요 가 없습니다.어떻게 해 야 합 니까?
분명히 우 리 는 중요 한 시간 데 이 터 를 분리 해 야 한다.타임 라 이브 러 리 는 함수 strptime()를 제공 하여 시간 구조 체 데이터 struct 를 되 돌려 줍 니 다.time 대상.구체 적 인 코드 는 다음 과 같다.

import time

now = time.ctime()
struct_time = time.strptime(now)
print("    :", struct_time.tm_year)
print("    :", struct_time.tm_mon)
print("   (      ):", struct_time.tm_mday)
print("     :", struct_time.tm_hour)
print("     :", struct_time.tm_min)
print("    :", struct_time.tm_wday+1)
print("    {0} (    )".format(struct_time.tm_yday))
실행 후 효 과 는 다음 과 같 습 니 다:
结构体
주의해 야 할 것 은 프로그램의 월요일 은 0,tm 입 니 다.wday 는 5 입 니 다.그러면 1 을 더 해 야 합 니 다.즉 토요일 입 니 다.
6.strftime()함수
strptime()함 수 를 통 해 단일 날짜 와 관련 된 데 이 터 를 얻 을 수 있 지만.하지만 내 가 지금 시간 만 원한 다 면 어 떡 하지?물론 위의 분 해 를 통 해 시간,분,초 를 각각 문자열 로 바 꾸 고 맞 출 수 있 습 니 다.하지만 이 건 너무 귀 찮 습 니 다.더 쉬 운 방법 이 있 습 니 다.
여기 서 우 리 는 time.strftime()함 수 를 사용 해 야 한다.용법 은 다음 과 같다.

import time

s = time.strftime("%H:%M:%S", time.localtime())
print(s)
실행 후 효 과 는 다음 과 같 습 니 다.
时间
주의해 야 할 것 은 strftime()함수 의 두 번 째 매개 변 수 는 struct 를 받 아들 이 는 것 입 니 다.time 대상.한편,time.localtime()의 역할 은 시간 스탬프 를 로 컬 로 포맷 하 는 것 입 니 다.이것 은 sec 매개 변수,즉 대응 하 는 time.time()함수 의 초 수 를 가지 고 초 수 를 표준 시간 으로 변환 하 는 것 입 니 다.인자 가 없 으 면 현재 시간 을 되 돌려 줍 니 다.
첫 번 째 매개 변 수 는 특정한 식별 자 를 사용 하여 선별 해 야 할 데 이 터 를 표시 합 니 다.구체 적 인 용법 은 다음 과 같다.
기호.
속뜻
%y
두 자릿수 의 연도 표시(00-99)
%Y
네 자리 수의 연도 표시(000-9999)
%m
월 별(01-12)
%d
월 중 하루(0-31)
%H
24 시간 제 시간 수(0-23)
%I
12 시간 제 시간 수(01-12)
%M
분 수(00=59)
%S
초(00-59)
%a
로 컬 요일 이름 간소화
%A
로 컬 전체 요일 이름
%b
로 컬 간 화 된 월 이름
%B
로 컬 전체 월 이름
%c
로 컬 에 해당 하 는 날짜 표시 와 시간 표시
%j
연내 하루(001-366)
%p
로 컬 A.M.또는 P.M.의 등가 부호
%U
1 년 중 요일(00-53)일요일 은 요일 의 시작 이다.
%w
일요일
%W
1 년 중 요일(00-53)월요일 은 요일 의 시작 이다.
%x
로 컬 해당 날짜 표시
%X
로 컬 해당 시간 표시
%Z
현재 시간 대의 이름
%%
%번호 자체
7.mktime()함수
만약 지금 우리 가 필요 로 하 는 것 이 있다 면,바로 자신 이 시간 을 입력 한 년 월 일 시 분 초 를 계산 한 후에 500 초 후의 시간 을 계산 하 는 것 이다.어떻게 이 루어 지지?
우선,우 리 는 time 라 이브 러 리 의 덧셈 연산 을 실현 해 야 합 니 다.우리 가 입력 한 날짜 데 이 터 를 time 라 이브 러 리 에서 식별 할 수 있 는 날짜 데이터 로 변환 해 야 합 니 다.time.mktime()함 수 는 숫자 를 time 라 이브 러 리 의 날짜 데이터 로 변환 한 다음 에 덧셈 연산 을 할 수 있 습 니 다.
구체 적 인 조작 은 다음 과 같다.

import time

t = (2021, 2, 17, 17, 3, 38, 1, 48, 0)
second_time = time.mktime(t)
struct_time = time.localtime(second_time)
print(time.strftime("%Y-%m-%d %H:%M:%S", struct_time))

second_time2 = second_time + 500
struct_time = time.localtime(second_time2)
print(time.strftime("%Y-%m-%d %H:%M:%S", struct_time))
\
실행 후 효 과 는 다음 과 같 습 니 다.
时间换算
주의해 야 할 것 은 time.mktime()함수 가 9 비트 의 메타 데 이 터 를 받 아들 이면 한 사람 이 적 으 면 잘못 보고 할 수 있 습 니 다.원조 데이터 의 의 미 는 각각 년,월,일,시,분,초,요일,올해 며칠,여름 시간 인지 여부 이다.역수 2,3 자리 수가 이전 날짜 와 충돌 할 때 time.mktime()함수 가 자동 으로 수 정 됩 니 다.
8.gmtime()함수
이 함 수 는 너무 많은 설명 을 하지 않 습 니 다.간단 한 이 해 는 UTC 시간 대 로 돌아 가 는 struct 입 니 다.time 대상.국제 조율 시간 이다.
구체 적 인 용법 은 다음 과 같다.

import time

utc_now = time.gmtime()
print(utc_now)
print(time.strftime("%Y-%m-%d %H:%M:%S", utc_now))
실행 후 효 과 는 다음 과 같 습 니 다.
时间效果
파 이 썬 기본 타임 라 이브 러 리 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 파 이 썬 타임 라 이브 러 리 내용 은 이전 글 을 검색 하거나 아래 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기