[파이썬] 날짜 - 시간 ( datetime / time ) 모듈 활용
2021. 1. 6. 07:31ㆍ기초
728x90
◎ datetime 모듈
import datetime
from dateutil.relativedelta import relativedelta
cdate = datetime.datetime.today() # 현재 날짜 가져오기
year = cdate.strftime("%y") # 현재 연도 가져오기
month = cdate.strftime("%m") # 현재 월 가져오기
day = cdate.strftime("%d") # 현재 일 가져오기
hour = cdate.hour # 현재 시간 가져오기
min = cdate.minute # 현재 분 가져오기
sec = cdate.second # 현재 초 가져오기
cdate.strftime("%Y%m%d")
cdate.strftime("%Y%m%d%H%M%S") # YYYYmmddHHMMSS 형태의 시간 출력
cdate.strftime("%Y/%m/%d %H:%M:%S") # YYYY/mm/dd HH:MM:SS 형태의 시간 출력
#-------------------------------------------------------------------------
first_day = cdate.replace(day=1) # 현재 달의 1일
p_first_day = first_day - relativedelta(months=1) # 지난 달의 1일
p_last_day = first_day - datetime.timedelta(days=1) # 지난 달의 말일
p_month = cdate - relativedelta(months=3) # 3개월 전의 달
n_month = cdate + relativedelta(months=3) # 3개월 후의 달
yesterday = cdate - datetime.timedelta(days=1) # 어제 날짜
tomorrow = cdate + datetime.timedelta(days=1) # 내일 날짜
print('>> 현재 달의 1일 : ' + first_day.strftime("%Y-%m-%d"))
print('>> 지난 달의 1일 : ' + p_first_day.strftime("%Y-%m-%d"))
print('>> 지난 달의 말일 : ' + p_last_day.strftime("%Y-%m-%d"))
print('>> 3개월 전의 달 : ' + p_month.strftime("%m"))
print('>> 3개월 후의 달 : ' + n_month.strftime("%m"))
print('>> 어제 날짜 : ' + yesterday.strftime("%Y-%m-%d"))
print('>> 내일 날짜 : ' + tomorrow.strftime("%Y-%m-%d"))
▷ datetime 클래스의 today() 함수를 사용하여, 오늘 날짜를 얻는다.
datetime 클래스는 date와 time 클래스에서 지원하는 대부분의 기능을 지원하므로, 주로 사용함.
▷ timedelta 클래스는 기간을 표현하기 위해서 사용.
주, 일, 시, 분, 초, 마이크로초, 밀리초 를 인자로 받으며, 유연한 날짜 / 시간 계산을 할 수 있다.
위 코드에서는 일(days) 연산에 관해 예를 들었음.
▷ relativedelta 클래스 (dateutil 모듈) - timedelta 클래스에 월 (months) 인자가 없으므로 사용함.
◎ time 모듈
import time
now = time.localtime()
date_time = '%04d-%02d-%02d %02d:%02d:%02d' % (now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_min, now.tm_sec)
print(date_time)
▷ localtime() 함수는 주어진 timestamp 값을 현지 시간대 기준의 time_struct 타입 데이터로 변환.
( timestamp 1575142526.500323를 보고, 무슨 날짜와 시간을 나타내는지를 알 수 없으므로,
내부적으로 날짜와 시간을 표현하기 위해서 9개의 속성를 갖는 time_struct 클래스를 사용 )
tm_year | 년도 ( 예: 1999 ) |
tm_mon | 월 ( 1~12 ) |
tm_mday | 일 ( 1~31 ) |
tm_hour | 시 ( 0~23 ) |
tm_min | 분 ( 0~59 ) |
tm_sec | 초 ( 0~61 ) |
tm_wday | 각 요일을 숫자로 나타냅니다. (월요일은 '0' ) |
tm_yday | 1월 1일부터 오늘까지 누적된 날짜. (1~366) |
tm_isdst | 일광절약 시간제 (서머타임) 를 나타냅니다 (0, 1, -1) |
반응형
'기초' 카테고리의 다른 글
[파이썬] 기초 통계 ( statistics / numpy 모듈 ) - 수학 (0) | 2021.01.12 |
---|---|
[파이썬] 방정식 / 행렬 - 그래프 ( sympy / numpy 모듈 ) - 수학 (0) | 2021.01.09 |
[파이썬] 리스트에서 특정 문자열 제거 / 문자 삭제 (0) | 2020.12.27 |
[파이썬] 데이터프레임을 파일로 저장 - 텍스트 / 표 / 엑셀 - pandas (0) | 2020.10.25 |
[파이썬] JSON과 dictionary(사전) 상호 변환 - loads / dumps (0) | 2020.09.23 |