Python 3-날짜 및 시간
Python 프로그램은 여러 가지 방법으로 날짜와 시간을 처리 할 수 있습니다. 날짜 형식 간 변환은 컴퓨터의 일반적인 작업입니다. Python의 시간 및 달력 모듈은 날짜와 시간을 추적하는 데 도움이됩니다.
Tick은 무엇입니까?
시간 간격은 초 단위의 부동 소수점 숫자입니다. 시간의 특정 순간은 1970 년 1 월 1 일 오전 12시 (기원) 이후 초 단위로 표시됩니다.
인기가 있습니다 time시간 작업 및 표현 간 변환을위한 함수를 제공하는 Python에서 사용할 수있는 모듈입니다. 함수time.time() 1970 년 1 월 1 일 오전 12시 (epoch) 이후 현재 시스템 시간을 틱 단위로 반환합니다.
예
#!/usr/bin/python3
import time; # This is required to include time module.
ticks = time.time()
print ("Number of ticks since 12:00am, January 1, 1970:", ticks)
이것은 다음과 같은 결과를 생성합니다.
Number of ticks since 12:00am, January 1, 1970: 1455508609.34375
날짜 산술은 틱으로 쉽게 할 수 있습니다. 그러나 시대 이전의 날짜는이 형식으로 표현할 수 없습니다. 먼 미래의 날짜도 이런 식으로 표현할 수 없습니다. UNIX 및 Windows의 경우 마감 시점은 2038 년입니다.
TimeTuple은 무엇입니까?
많은 파이썬의 시간 함수는 아래와 같이 시간을 9 개 숫자의 튜플로 처리합니다.
인덱스 | 들 | 가치 |
---|---|---|
0 | 4 자리 연도 | 2016 년 |
1 | 달 | 1에서 12 |
2 | 일 | 1에서 31 |
삼 | 시 | 0에서 23 |
4 | 분 | 0에서 59 |
5 | 둘째 | 0 ~ 61 (60 또는 61은 윤초) |
6 | 요일 | 0 ~ 6 (0은 월요일) |
7 | 연중 일 | 1 ~ 366 (줄리안 데이) |
8 | 일광 절약 | -1, 0, 1, -1은 라이브러리가 DST를 결정 함을 의미합니다. |
예를 들어-
import time
print (time.localtime());
이것은 다음과 같은 결과를 생성합니다-
time.struct_time(tm_year = 2016, tm_mon = 2, tm_mday = 15, tm_hour = 9,
tm_min = 29, tm_sec = 2, tm_wday = 0, tm_yday = 46, tm_isdst = 0)
위의 튜플은 다음과 같습니다. struct_time구조. 이 구조에는 다음과 같은 속성이 있습니다.
인덱스 | 속성 | 가치 |
---|---|---|
0 | tm_year | 2016 년 |
1 | tm_mon | 1에서 12 |
2 | tm_mday | 1에서 31 |
삼 | 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은 라이브러리가 DST를 결정 함을 의미합니다. |
현재 시간 얻기
시간 순간을 epoch 부동 소수점 값 이후 초에서 timetuple로 변환하려면 유효한 9 개 항목이 모두 포함 된 time-tuple을 반환하는 함수 (예 : localtime)에 부동 소수점 값을 전달합니다.
#!/usr/bin/python3
import time
localtime = time.localtime(time.time())
print ("Local current time :", localtime)
이것은 다른 표현 가능한 형식으로 형식화 될 수있는 다음 결과를 생성합니다.
Local current time : time.struct_time(tm_year = 2016, tm_mon = 2, tm_mday = 15,
tm_hour = 9, tm_min = 29, tm_sec = 2, tm_wday = 0, tm_yday = 46, tm_isdst = 0)
형식화 된 시간 가져 오기
요구 사항에 따라 언제든지 형식을 지정할 수 있지만 읽을 수있는 형식으로 시간을 가져 오는 간단한 방법은 다음과 같습니다. asctime() −
#!/usr/bin/python3
import time
localtime = time.asctime( time.localtime(time.time()) )
print ("Local current time :", localtime)
이것은 다음 결과를 생성합니다-
Local current time : Mon Feb 15 09:34:03 2016
한 달 동안 달력 받기
달력 모듈은 연간 및 월간 달력으로 재생하는 다양한 방법을 제공합니다. 여기에서 주어진 달 (2008 년 1 월)에 대한 달력을 인쇄합니다.
#!/usr/bin/python3
import calendar
cal = calendar.month(2016, 2)
print ("Here is the calendar:")
print (cal)
이것은 다음 결과를 생성합니다-
Here is the calendar:
February 2016
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29
시간 모듈
인기가 있습니다 time시간 작업과 표현 간 변환을위한 함수를 제공하는 Python에서 사용할 수있는 모듈입니다. 다음은 사용 가능한 모든 방법 목록입니다.
Sr. 아니. | 기능 및 설명 |
---|---|
1 | time.altzone 로컬 DST 시간대의 오프셋 (정의 된 경우 UTC 서쪽의 초)입니다. 현지 DST 시간대가 UTC의 동쪽이면 음수입니다 (영국을 포함한 서유럽에서와 같이). 일광이 0이 아닌 경우이를 사용합니다. |
2 | time.asctime ([tupletime]) 시간 튜플을 허용하고 'Tue Dec 11 18:07:14 2008'과 같이 읽을 수있는 24 자 문자열을 반환합니다. |
삼 | time.clock () 현재 CPU 시간을 부동 소수점 초 수로 반환합니다. 다른 접근 방식의 계산 비용을 측정하려면 time.clock 값이 time.time () 값보다 더 유용합니다. |
4 | time.ctime ([초]) asctime (localtime (secs))과 같고 인수가없는 것은 asctime ()과 같습니다. |
5 | time.gmtime ([초]) epoch 이후 초 단위로 표현 된 순간을 받아들이고 UTC 시간과 함께 time-tuple t를 반환합니다. 참고 : t.tm_isdst는 항상 0입니다. |
6 | time.localtime ([초]) epoch 이후 초 단위로 표시된 순간을 받아들이고 현지 시간과 함께 time-tuple t를 반환합니다 (t.tm_isdst는 DST가 지역 규칙에 따라 순간 초에 적용되는지 여부에 따라 0 또는 1 임). |
7 | time.mktime (tupletime) 현지 시간의 시간 튜플로 표현 된 순간을 받아들이고 그 기점 이후 초 단위로 표현 된 순간과 함께 부동 소수점 값을 반환합니다. |
8 | time.sleep (초) 초 초 동안 호출 스레드를 일시 중단합니다. |
9 | time.strftime (fmt [, tupletime]) 현지 시간의 시간 튜플로 표현 된 순간을 받아들이고 문자열 fmt에 지정된 순간을 나타내는 문자열을 반환합니다. |
10 | time.strptime (str, fmt = '% a % b % d % H : % M : % S % Y') 형식 문자열 fmt에 따라 str을 구문 분석하고 시간 튜플 형식으로 인스턴트를 반환합니다. |
11 | time.time () 에포크 이후 부동 소수점 초 수인 현재 시간 인스턴트를 반환합니다. |
12 | time.tzset () 라이브러리 루틴에서 사용하는 시간 변환 규칙을 재설정합니다. 환경 변수 TZ는 이것이 수행되는 방법을 지정합니다. |
시간 모듈에서 사용할 수있는 두 가지 중요한 속성이 있습니다. 그들은-
Sr. 아니. | 속성 및 설명 |
---|---|
1 | time.timezone time.timezone 속성은 UTC (미주에서는> 0, 대부분의 유럽, 아시아, 아프리카에서는 <= 0)에서 현지 시간대 (DST 제외)의 오프셋 (초)입니다. |
2 | time.tzname time.tzname 속성은 로케일 종속 문자열 쌍으로, 각각 DST가없는 지역 시간대와 DST가있는 지역 시간대의 이름입니다. |
캘린더 모듈
달력 모듈은 주어진 월 또는 연도의 텍스트 달력을 인쇄하는 기능을 포함하여 달력 관련 기능을 제공합니다.
기본적으로 달력은 월요일을 첫 번째 요일로 사용하고 일요일을 마지막 요일로 사용합니다. 이를 변경하려면calendar.setfirstweekday() 함수.
다음은 사용할 수있는 기능 목록입니다. calendar 모듈-
Sr. 아니. | 기능 및 설명 |
---|---|
1 | calendar.calendar(year,w = 2,l = 1,c = 6) 연도에 대한 달력이 c 공백으로 구분 된 세 개의 열로 형식화 된 여러 줄 문자열을 반환합니다. w는 각 날짜의 문자 너비입니다. 각 줄의 길이는 21 * w + 18 + 2 * c입니다. l은 매주 줄 수입니다. |
2 | calendar.firstweekday( ) 매주 시작되는 요일의 현재 설정을 반환합니다. 기본적으로 달력을 처음 가져올 때이 값은 월요일을 의미하는 0입니다. |
삼 | calendar.isleap(year) 연도가 윤년이면 True를 반환합니다. 그렇지 않으면 False입니다. |
4 | calendar.leapdays(y1,y2) 범위 (y1, y2) 내에서 연도의 총 윤일 수를 반환합니다. |
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(year,w = 2,l = 1,c = 6) print calendar.calendar (year, w, l, c)와 같습니다. |
9 | calendar.prmonth(year,month,w = 2,l = 1) print calendar.month (year, month, w, l)과 같습니다. |
10 | calendar.setfirstweekday(weekday) 매주 시작되는 요일을 평일 코드 요일로 설정합니다. 평일 코드는 0 (월요일) ~ 6 (일요일)입니다. |
11 | calendar.timegm(tupletime) time.gmtime의 역 : time-tuple 형식의 시간 순간을 받아들이고 epoch 이후 부동 소수점 초 수와 동일한 순간을 반환합니다. |
12 | calendar.weekday(year,month,day) 주어진 날짜의 요일 코드를 반환합니다. 평일 코드는 0 (월요일)에서 6 (일요일)입니다. 월 번호는 1 (1 월)부터 12 (12 월)까지입니다. |
기타 모듈 및 기능
관심이 있으시면 여기에서 Python에서 날짜와 시간을 다루는 다른 중요한 모듈 및 함수 목록을 찾을 수 있습니다.
- datetime 모듈
- pytz 모듈
- dateutil 모듈