Python 상용 시간 조작 총화[현재 시간,시간 함수,응용 등 획득]
필요 한 모듈 을 가 져 옵 니 다.
>>> import time
시간 형식 을 설정 합 니 다.다음 에 사용 할 것 입 니 다.
>>>ISOTIMEFORMAT='%Y-%m-%d %X'
현재 의 시간 을 살 펴 보면 다른 많은 언어 와 비슷 하 다.이것 은 epoch(1970 년 1 월 1 일 00:00:00)부터 현재 의 초 수 이다.
>>> time.time()
1180759620.859
위의 것 은 알 아 볼 수 없 으 니,격식 을 바 꾸 어 보 자.
>>> time.localtime()
(2007, 6, 2, 12, 47, 7, 5, 153, 0)
localtime 이 tuple 형식 을 되 돌려 주 는 시간 은 gmtime()과 유사 한 함수 가 있 습 니 다.두 함수 의 차 이 는 시간 대 입 니 다.gmtime()은 0 시간 대의 값 을 되 돌려 주 고 localtime 은 현재 시간 대의 값 을 되 돌려 줍 니 다.
>>> time.strftime( ISOTIMEFORMAT, time.localtime() )
'2007-06-02 12:54:29′
우리 의 시간 형식 으로 정 의 했 습 니 다.strftime 를 사용 하여 시간 을 바 꾸 었 습 니 다.현재 시간 을 가 져 오 면 time.localtime()을 사용 하지 않 아 도 됩 니 다.
>>> time.strftime( ISOTIMEFORMAT, time.localtime( time.time() ) )
'2007-06-02 12:54:31′
>>> time.strftime( ISOTIMEFORMAT, time.gmtime( time.time() ) )
'2007-06-02 04:55:02′
위 에 gmtime 과 localtime 의 차 이 를 보 여 줍 니 다.시간 대 보기
>>> time.timezone
-28800
위의 값 은 초 값 으로 현재 시간 대 와 0 시간 대의 차이 에 대한 설명 입 니 다.-28800=-8*3600,즉 동 8 구 입 니 다.간단 한 함수 몇 개 를 붙이다
def ISOString2Time( s ):
'''
convert a ISO format time to second
from:2006-04-12 16:46:40 to:23123123
'''
return time.strptime( s, ISOTIMEFORMAT )
def Time2ISOString( s ):
'''
convert second to a ISO format time
from: 23123123 to: 2006-04-12 16:46:40
'''
return time.strftime( ISOTIMEFORMAT, time.localtime( float( s) ) )
def dateplustime( d, t ):
'''
d=2006-04-12 16:46:40
t=2
return 2006-04-12 18:46:40
,time2sec , ,3 ,13 ,10 , , 。
'''
return Time2ISOString( time.mktime( ISOString2Time( d ))+time2sec( t ) )
def dateMinDate( d1, d2 ):
'''
minus to iso format date,return seconds
2
'''
d1=ISOString2Time( d1 )
d2=ISOString2Time( d2 )
return time.mktime( d1 )-time.mktime( d2 )
프로필time 모듈 은 각종 조작 시간의 함 수 를 제공 합 니 다.
설명:일반적으로 시간 을 나타 내 는 두 가지 방식 이 있다.
첫 번 째 는 타임 스탬프 방식(1970.1.1 00:00:00 초 로 계 산 된 오프셋)이 고 타임 스탬프 는 유일한 것 이다.
두 번 째 는 수조 의 형식 으로(structtime),모두 9 개의 요소 가 있 는데 각각'같은 시간 스탬프 의 struct'를 나타 낸다.time 은 시간 대 에 따라 달라 집 니 다.
year (four digits, e.g. 1998)
month (1-12)
day (1-31)
hours (0-23)
minutes (0-59)
seconds (0-59)
weekday (0-6, Monday is 0)
Julian day (day in the year, 1-366)
DST(Daylight Savings Time)flag(-1,0 or 1)여름 캠프 여부
If the DST flag is 0, the time is given in the regular time zone;
if it is 1, the time is given in the DST time zone;
if it is -1, mktime() should guess based on the date and time.
바 이 두 여름 캠프 소개:http://baike.baidu.com/view/100246.htm
UTC 소 개 는 다음 글 에서 UTC 에 대한 소 개 를 참고 할 수 있 습 니 다.https://www.jb51.net/article/40758.htm
함수 소개
1.
asctime()
asctime([tuple]) -> string하 나 를 structtime(기본 값 은 당시 시간),문자열 로 변환
Convert a time tuple to a string, e.g. 'Sat Jun 06 16:26:11 1998'.
When the time tuple is not present, current time as returned by localtime()
is used.
2.
clock()
clock() -> floating point number이 함 수 는 두 가지 기능 이 있 는데,
첫 번 째 호출 시 프로그램 이 실 행 된 실제 시간 을 되 돌려 줍 니 다.
두 번 째 호출 후,첫 번 째 호출 후,이번 호출 까지 의 시간 간격 을 되 돌려 줍 니 다.
예시:
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.00004944763
clock3:2.00012040636
그 중 첫 번 째 clock 출력 은 프로그램 실행 시간 입 니 다.두 번 째,세 번 째 clock 은 모두 첫 번 째 clock 과 의 시간 간격 입 니 다.
3.
sleep(...)
sleep(seconds)스 레 드 가 지정 한 시간 에 실 행 됩 니 다.테스트 를 통 해 단 위 는 초 입 니 다.그러나 도움말 문서 에 다음 과 같은 말 이 있 습 니 다.이 관문 은 알 아 볼 수 없습니다.
“The argument may be a floating point number for subsecond precision.”
4.
ctime(...)
ctime(seconds) -> string시간 스탬프(기본 값 은 현재 시간)를 시간 문자열 로 변환 합 니 다.
예 를 들 면:
time.ctime()
출력:'Sat Mar 28 22:24:24 2009'5.
gmtime(...)
gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,tm_sec, tm_wday, tm_yday, tm_isdst)시간 스탬프 를 UTC 시간 대(0 시간 대)로 변환 하 는 structtime,seconds 인자 가 입력 되 지 않 으 면 현재 시간 을 변환 기준 으로 합 니 다.
6.
localtime(...)
localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)시간 스탬프 를 현재 시간 대의 struct 로 변환 합 니 다.time,seconds 인자 가 입력 되 지 않 으 면 현재 시간 을 변환 기준 으로 합 니 다.
7.
mktime(...)
mktime(tuple) -> floating point number하 나 를 struct 로타임 스탬프
8.
strftime(...)
strftime(format[, tuple]) -> string지정 한 structtime(기본 값 은 현재 시간)지정 한 포맷 문자열 에 따라 출력 합 니 다.
python 의 시간 날짜 포맷 기호:
%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 요일(0-6),일요일 은 요일 의 시작
%W 1 년 중 요일(00-53)월요일 은 요일 의 시작 입 니 다.
%x 로 컬 해당 날짜 표시
%X 로 컬 에 해당 하 는 시간 표시
%Z 현재 시간 대의 이름
%%%번호 자체
9.
strptime(...)
strptime(string, format) -> struct_time시간 문자열 을 지정 한 포맷 문자 에 따라 배열 형식 으로 변환 하 는 시간
예 를 들 면:
2009-03-20 11:45:39 대응 하 는 포맷 문자열:%Y-%m-%d%H:%M:%S
Sat Mar 28 22:24:24 2009 에 대응 하 는 포맷 문자열:%a%b%d%H:%M:%S%Y
10.
time(...)
time() -> floating point number현재 시간의 타임 스탬프 되 돌리 기
의문점
1.여름 캠프
structtime 중 여름 캠프 는 소 용이 없 는 것 같 습 니 다.예 를 들 어...
a = (2009, 6, 28, 23, 8, 34, 5, 87, 1)
b = (2009, 6, 28, 23, 8, 34, 5, 87, 0)
a 와 b 는 각각 여름 캠프 와 표준 시간 을 나타 내 는데 이들 사이 에 시간 스탬프 로 전환 하면 3600 과 관련 이 있어 야 하지만 전환 후 출력 은 모두 646585714.0 이다.넷 째,작은 응용
1.python 현재 시간 가 져 오기
time.time()
현재 타임 스탬프 가 져 오기time.localtime()
현재 시간의 struct시간 형식time.ctime()
현재 시간의 문자열 형식2.python 포맷 문자열
2009-03-20 11:45:39 형식 으로 포맷
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
Sat Mar 28 22:24:24 2009 형식 으로 포맷
time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
3.형식 문자열 을 타임스탬프 로 변환
a = "Sat Mar 28 22:24:24 2009"
b = time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
PS:본 사 이 트 는 유 닉 스 타임 스탬프 변환 및 날짜 온라인 도 구 를 제공 하여 매우 실 용적 이 며 참고 할 수 있 습 니 다.유 닉 스 타임 스탬프(timestamp)변환 도구:
http://tools.jb51.net/code/unixtime
온라인 날짜/일수 계산기:
http://tools.jb51.net/jisuanqi/date_jisuanqi
온라인 달력:
http://tools.jb51.net/bianmin/wannianli
온라인 음력/양력 변환 도구:
http://tools.jb51.net/bianmin/yinli2yangli
파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.