파이썬 날짜와 시간
Python 프로그램은 다양한 방법으로 날짜와 시간을 처리할 수 있으며 날짜 형식을 변환하는 것이 일반적인 기능입니다.
Python은 날짜와 시간 형식을 지정하는 데 사용할 수 있는 시간 및 달력 모듈을 제공합니다.
시간 간격은 초 단위의 부동 소수점 분수입니다.
각 타임스탬프는 1970년 1월 1일 자정(epoch) 이후 얼마나 시간이 지났는지를 표현합니다.
Python의 시간 모듈에는 일반적인 날짜 형식을 변환할 수 있는 많은 함수가 있습니다. 예를 들어, 다음 예와 같이 time.time() 함수를 사용하여 현재 타임스탬프를 가져옵니다.
# -*- 코딩: UTF-8 -*-
import time; #시간 모듈 도입
ticks = time.time()
print "현재 타임스탬프 is:", 진드기
위의 예시 출력 결과:
타임스탬프 단위가 가장 적합합니다. 날짜 작업을 위해. 그러나 1970년 이전 날짜는 이런 식으로 표현할 수 없습니다. 너무 먼 날짜는 작동하지 않으며 UNIX 및 Windows는 2038년까지만 지원됩니다.
시간 튜플이란 무엇인가요?
많은 Python 함수는 하나의 튜플에서 조합된 9개의 숫자 처리 시간 그룹을 사용합니다.
序号 | 字段 | 值 |
---|---|---|
0 | 4位数年 | 2008 |
1 | 月 | 1 到 12 |
2 | 日 | 1到31 |
3 | 小时 | 0到23 |
4 | 分钟 | 0到59 |
5 | 秒 | 0到61 (60或61 是闰秒) |
6 | 一周的第几日 | 0到6 (0是周一) |
7 | 一年的第几日 | 1到366 (儒略历) |
8 | 夏令时 | -1, 0, 1, -1是决定是否为夏令时的旗帜 |
위는 struct_time 튜플입니다. 이 구조에는 다음과 같은 속성이 있습니다.
序号 | 属性 | 值 |
---|---|---|
0 | tm_year | 2008 |
1 | tm_mon | 1 到 12 |
2 | tm_mday | 1 到 31 |
3 | tm_hour | 0 到 23 |
4 | tm_min | 0 到 59 |
5 | tm_sec | 0 到 61 (60或61 是闰秒) |
6 | tm_wday | 0到6 (0是周一) |
7 | tm_yday | 1 到 366(儒略历) |
8 | tm_isdst | -1, 0, 1, -1是决定是否为夏令时的旗帜 |
현재 시간 가져오기
부동 소수점 숫자를 반환하는 시간 삭제 메서드를 시간 튜플로 변환하고, 부동 소수점 숫자를 localtime과 같은 함수에 전달하면 됩니다.
# -*- 코딩: UTF-8 -*-
가져오기 시간
localtime = 시간. localtime(time.time())
print "The local time is :", localtime
위 출력 예의 결과:
형식화된 시간 가져오기
필요에 따라 다양한 형식을 선택할 수 있지만, 읽을 수 있는 시간 패턴을 가져오는 가장 간단한 기능은 asctime():
# -*- 코딩: UTF-8 -*-
가져오기 시간
localtime = time.asctime( time.localtime(time.time() ) )
print "현지 시간은 :", localtime
위 예시 출력 결과:
날짜 형식 지정
time 모듈의 strftime 메서드를 사용하여 날짜 형식을 지정할 수 있습니다.
#!/usr/bin/python
# -*- 코딩: UTF-8 -*-
가져오기 시간
# 다음으로 형식화됨 2016-03 -20 11:45:39형식
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# Sat Mar 28 22:24:24 2016Form
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
으로 형식 지정 # 형식 문자열을 타임스탬프로 변환
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M :% S %Y"))
위 예시 출력 결과:
Thu Apr 07 10:25 : 2016년 9월
1459175064.0
파이썬의 시간 및 날짜 형식 기호:
%y 두 자리 연도 표현(00-99)
%Y 4자리 연도는 (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 연도(00-53)의 주 수입니다. 일요일이 한주의 시작
%w 주(0~6), 일요일이 한주의 시작
%W 한 해의 주 수(00-53) 월요일이 주의 시작입니다
%x 해당 지역 날짜 표시
% X 해당 현지 시간 표현
%Z 현재 시간대의 이름
%% % 숫자 자체
특정 달의 달력 가져오기
캘린더 모듈에는 특정 달의 월별 달력을 인쇄하는 등 연간 및 월별 달력을 처리하는 다양한 방법이 있습니다.
# -*- 코딩: UTF-8 -*-
캘린더 가져오기
cal = 캘린더. Month(2016, 1)
print "다음은 2016년 1월 달력을 출력합니다."
print cal;
위 예의 출력 결과:
2016년 1월
Mo Tu We Th Fr Sa Su
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17 19 20 21 22 23 24
25 26 27 28 29 30 31
시간 모듈
시간 모듈에는 시간 처리 및 시간 형식 변환을 위한 다음 내장 함수가 포함되어 있습니다.
일련번호 | 기능 및 설명 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | time.altzone
| ||||||||||||||||||||||||||
2 | time.asctime([tupletime]) 시간 튜플을 받아들이고 "Tue Dec 11 18 :07"과 같은 읽을 수 있는 형식을 반환합니다. :14 2008"(2008년 12월 11일 화요일 18:07:14)은 24자 문자열입니다. | ||||||||||||||||||||||||||
3 | time.clock( )부동 소수점 숫자로 계산된 현재 CPU 시간을 초 단위로 반환합니다. 다양한 프로그램의 시간 소비를 측정하는 데 사용되며 time.time()보다 더 유용합니다. | ||||||||||||||||||||||||||
4 | time.ctime([secs])
| ||||||||||||||||||||||||||
5 | time.gmtime([secs])<🎜>수신 시간 초과(부동 소수점 초 수) 에포크 1970 이후 경과) 그리니치 천문 시간으로 시간 튜플 t를 반환합니다. 참고: t.tm_isdst는 항상 0입니다. | ||||||||||||||||||||||||||
6 | time.localtime([secs])<🎜>수신 시간은 1970년 이후 만료됩니다. 포인트 초) 시간 튜플 t를 현지 시간으로 반환합니다(t.tm_isdst는 현지 시간이 일광 절약 시간인지 여부에 따라 0 또는 1일 수 있습니다). | ||||||||||||||||||||||||||
7 | time.mktime(tupletime)<🎜>시간 튜플을 승인하고 시간(1970년 이후 경과된 부동 소수점 초 수)을 반환합니다. 시대) . | ||||||||||||||||||||||||||
8 | time.sleep(secs)<🎜>호출 스레드의 실행을 지연합니다. secs는 초 수를 나타냅니다. | ||||||||||||||||||||||||||
9 | time.strftime(fmt[,tupletime])<🎜>시간 튜플을 수신하고 읽을 수 있는 문자열을 반환합니다. 현지 시간, 형식은 다음에 의해 결정됩니다. fmt. | ||||||||||||||||||||||||||
10 | time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')< 🎜>fmt 형식에 따라 시간 문자열을 시간 튜플로 구문 분석합니다. | ||||||||||||||||||||||||||
11 | time.time( )<🎜>현재 시간의 타임스탬프를 반환합니다(1970년 이후 경과된 부동 소수점 초 수). . | ||||||||||||||||||||||||||
12 | time.tzset()<🎜>환경 변수 TZ에 따라 시간 관련 설정을 다시 초기화합니다. |
일련번호 | 속성 및 설명 |
---|---|
1 td> | time.timezone<🎜>time.timezone 속성은 그리니치(>0, America;<=)를 기준으로 하는 현지 시간대(일광 절약 시간 제외)의 오프셋 초입니다. 0대부분의 유럽, 아시아, 아프리카). |
2 | time.tzname<🎜>time.tzname 속성에는 시간에 따라 달라지는 문자 쌍이 포함됩니다. 상황 문자열은 일광 절약 시간이 있거나 없는 현지 시간대 이름입니다. |
캘린더 모듈
이 모듈의 기능은 특정 달의 캐릭터 달력을 인쇄하는 등 모두 달력과 관련된 기능입니다.
월요일이 기본적으로 한 주의 첫날이고, 일요일이 기본 마지막 요일입니다. 설정을 변경하려면 Calendar.setfirstweekday() 함수를 호출해야 합니다. 모듈에는 다음과 같은 내장 함수가 포함되어 있습니다.
일련 번호 | < th style=" width:95%">기능 및 설명|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | calendar.calendar(year,w=2,l= 1,c= 6)
| ||||||||||||||||||||||||||
2 | calendar.firstweekday( ) 현재 주간 시작일 설정을 반환합니다. 기본적으로 caendar 모듈이 처음 로드될 때(월요일) 0이 반환됩니다. | ||||||||||||||||||||||||||
3 | calendar.isleap(year) 윤년이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. | ||||||||||||||||||||||||||
4 | calendar.leapdays(y1,y2)Y1과 Y2 사이의 2년을 반환합니다. 총 수 윤년. | ||||||||||||||||||||||||||
5 | calendar.month(year,month,w=2,l=1)반환 여러 줄의 문자열 형식으로 된 연도 및 월 달력으로, 두 줄의 제목과 한 줄의 주를 포함합니다. 일일 너비 간격은 w자입니다. 각 줄의 길이는 7* w+6입니다. l은 주당 라인 수입니다. | ||||||||||||||||||||||||||
6 | calendar.monthcalendar(year,month) 단일 수준의 중첩된 정수 목록을 반환합니다. 각 하위 목록에는 주를 나타내는 정수가 포함됩니다. 연도와 월을 제외한 날짜는 0으로 설정되고, 범위 내의 날짜는 1부터 시작하여 해당 월의 날짜로 표시됩니다. | ||||||||||||||||||||||||||
7 | calendar.monthrange(year,month)두 개의 정수를 반환합니다. 첫 번째는 해당 월의 요일에 대한 날짜 코드이고, 두 번째는 해당 월의 요일 코드입니다. 일 범위는 0(월요일)부터 6(일요일)까지이고, 월 범위는 1부터 12까지입니다. | ||||||||||||||||||||||||||
8 | calendar.prcal(연도,w=2,l=1,c=6)
| ||||||||||||||||||||||||||
9 | calendar.prmonth(year,month,w =2,l=1) | ||||||||||||||||||||||||||
10 | calendar.setfirstweekday(weekday) 한 주의 시작 요일 코드를 설정합니다. 0(월요일) ~ 6(일요일). | ||||||||||||||||||||||||||
11 | calendar.timegm(tupletime)time.gmtime의 반대: 시간 튜플 형식을 허용합니다. , 해당 순간의 시간(1970년 에포크 이후 경과된 부동 소수점 초 수)을 반환합니다. | ||||||||||||||||||||||||||
12 | calendar.weekday(년,월,일)주어진 날짜의 날짜 코드를 반환합니다. . 0(월요일) ~ 6(일요일). 월은 1(1월)부터 12(12월)까지입니다. |