안녕하세요. 이승혁 입니다.
오늘은 파이썬의 time 모듈의 localtime 객체를 사용해 날짜와 요일을 구해보는 실습을 진행하겠습니다.
※ time
파이썬의 time 모듈은 시간과 관련된 다양한 함수를 제공합니다.
time 모듈의 localtime은 대한민국 현재 시간을 time.struc_time 형식 데이터로 리턴해줍니다.
struc_time 형식이 가진 속성과 그에 대한 설명입니다.
속성에 대한 값들은 인덱스 혹은 속성 이름으로 접근 가능합니다
인덱스 | 속성 이름 | 설명 |
0 | tm_year | 현재 년도 출력 [9999] |
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] , 61은 윤초일 때 사용합니다. |
6 | tm_wday | 현재 요일 [0~6] , 0 : 월요일 6 : 일요일 |
7 | tm_yday | 1월 1일부터 현재까지의 날짜 수 [1~366] |
8 | tm_isdst | 섬머타임일 경우 1, 아닐경우 0, 모를 경우 -1 |
현재 시간 정보 확인하기
import time
t=time.localtime()
print(t)
print(t.tm_year)
print(t[0])
t 변수에 struct_time 형식 데이터를 할당합니다.
직접 속성 명으로 접근할 수 있고 ( t.tm_year ) 인덱스를 사용( t[0] )해서 접근 할 수도 있습니다.
요일을 구하려면 다음과 같이 리스트와 병행해서 사용합니다.
from time import localtime
day=['월요일','화요일','수요일','목요일','금요일','토요일','일요일']
t=localtime()
print('오늘은 %s입니다.'%day[t.tm_wday])
※ strㄹtime
time 모듈의 strftime() 메소드는 struc_time 형식 데이터를 포맷 문자열을 사용해 특정 형식으로 표현합니다..
포맷 문자열 | 설명 |
%Y | 년도를 나타냄 [9999] |
%m | 월을 나타냄 [01 ~ 12] |
%d | 일을 나타냄 [01 ~ 31] |
%H | 시간을 24시간 형식으로 나타냄 [00 ~ 23] |
%M | 분을 나타냄 [00 ~ 59] |
%S | 초를 나타냄 [00 ~ 59] |
%x | 현재 날짜를 월/일/년으로 나타냄 [00/00/00] |
%X | 현재 시간을 시:분:초로 나타냄 [00:00:00] |
실습 예제 코드입니다.
import time
t=time.localtime()
print(time.strftime('%Y-%m-%d',t))
print(time.strftime('%H',t))
print(time.strftime('%x',t))
print(time.strftime('%X',t))
※ 활용 예제 로그 파일 만들기
위의 모듈을 사용해서 로그 파일을 만들 수 있습니다
from time import localtime,strftime
logfile='test.log'
def write_log(logfile,log):
t=localtime()
time_stamp = strftime('%Y-%m-%d %X\t',t)
log=time_stamp + log + '\n'
with open('d:\\'+logfile,'a') as f:
f.write(log)
write_log(logfile,'첫 번째 문장')
time.sleep(10)
write_log(logfile,'두 번째 문장')
time.sleep(15)
write_log(logfile,'세 번째 문장')
t 변수에 localtime의 struc_time 형식의 데이터를 할당합니다
time_stamp 변수에는 strftime을 사용해 년 - 월 - 일 시:분:초 형식으로 t 데이터를 할당합니다.
최종적으로 기록될 log 변수는 time_stamp + 기록할 내용 + 행 바꿈 을 저장합니다.
함수를 호출해서 '첫 번째 문장'을 기록하고,
time.sleep(10)을 이용해 10초를 보냅니다.
그 후 다시 함수를 호출하고, time.sleep하고, 마지막 함수를 호출합니다.
정상적으로 로그가 지정한 위치에 작성되었습니다.
오늘은 파이썬으로 현재 시각 정보를 구하고, 이를 포맷 문자열을 통해 특정 형식으로 구할 수 있다는 것을 알았습니다.
또한 이를 활용해 시간별 기록을 남기는 로그까지 만들어 보았습니다.
읽어주셔서 감사합니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python Error] Matplotlib 한글 폰트 오류 (4) | 2021.01.11 |
---|---|
[Python Error] ImportError: No module named 'win32api' (2) | 2021.01.04 |
Python) 아나콘다(Anaconda) 가상환경 삭제하기 (8) | 2020.12.31 |
[Python Error] - ImportError: Install xlrd >= 0.9.0 for excel support (2) | 2020.12.31 |
Python-23) 합성곱 : 파이썬 합성곱, 컨볼루션 연산, python Convolution (12) | 2020.12.25 |
Python-22) 지역변수 , 전역변수 : python global (2) | 2020.12.24 |
Python-21) python read, readline, write, writelines : 파이썬 파일 쓰기, 파일 읽기 , python txt (0) | 2020.12.24 |
Python 현재 디렉토리 확인하기 (3) | 2020.12.24 |