PYTHON 프로그래밍

본문 바로가기
사이트 내 전체검색


PYTHON 프로그래밍
PYTHON 프로그래밍

1. 날짜, 시간관련 모듈

페이지 정보

작성자 관리자 댓글 0건 조회 4,542회 작성일 19-04-19 10:44

본문

1. 날짜, 시간관련 모듈

파이썬에서 날짜와 시간을 다루는 방법을 알아보자.

지금 현재의 날짜와 시간을 문자열로 출력하려면 strftime 메서드를 이용하면 된다.
 
import datetime
 
now = datetime.datetime.now()
print(now)          # 2019-04-19 12:11:32.669083
 
nowDate = now.strftime('%Y-%m-%d')
print(nowDate)      # 2019-04-19
 
nowTime = now.strftime('%H:%M:%S')
print(nowTime)      # 12:11:32
 
nowDatetime = now.strftime('%Y-%m-%d %H:%M:%S')
print(nowDatetime)  # 2019-04-19 12:11:32
 

날찌, 시간형식의 문자열을 datetime으로 만들려면 strptime을 이용하자.

import datetime
 
myDatetimeStr = '2019-04-15 12:23:38'
myDatetime = datetime.datetime.strptime(myDatetimeStr, '%Y-%m-%d %H:%M:%S')
print(type(myDatetime)) # [class 'datetime.datetime']
print(myDatetime)       # 2019-04-15 12:23:38
 

날짜나 시간을 변경하기 위해서는 replace 메서드를 사용하면 된다.


 
import datetime
 
myDatetime = datetime.datetime.strptime('2019-04-15 12:23:38', '%Y-%m-%d %H:%M:%S')
print(myDatetime)   # 2019-04-15 12:23:38
 
yourDatetime = myDatetime.replace(day=16)
print(myDatetime)   # 2019-04-15 12:23:38
print(yourDatetime) # 2019-04-16 12:23:38
 

날짜만을 관리하기 위해서는 datetime.date를, 시간만을 관리하기 위해서는 datetime.time을 이용하면 된다. datetime.date와 datetime.time을 합치기 위해서는 datetime.datetime.combine을 이용하자.

 
import datetime
 
d = datetime.date(2015, 4, 15)
t = datetime.time(12, 23, 38)
 
dt = datetime.datetime.combine(d, t)
print(dt) # 2019-04-15 12:23:38
 

datetime의 각 날짜와 시간에 관련된 항목값에 접근하려면 timetuple 메서드를 사용하면 된다.

 
import datetime
 
now = datetime.datetime.now()
nowTuple = now.timetuple()
print(nowTuple)         # time.struct_time(tm_year=2015, tm_mon=4, tm_mday=19, tm_hour=13, tm_min=21, tm_sec=40, tm_wday=6, tm_yday=109, tm_isdst=-1)
print(nowTuple.tm_year) # 2015
 

날짜, 시간 연산을 해보자. datetime에 하루(1day)를 더하고 싶다면 datetime.timedelta를 이용하자.


 
import datetime
 
now = datetime.datetime.now()
print(now)      # 2019-04-19 12:40:00.320686
 
tomorrow = now + datetime.timedelta(days=1)
print(tomorrow) # 2019-04-20 12:40:00.320686
 

timedelta에 들어갈 수 있는 인자값은 아래와 같다.
– 1주 : datetime.timedelta(weeks=1)
– 1일 : datetime.timedelta(days=1)
– 1시간 : datetime.timedelta(hours=1)
– 1분 : datetime.timedelta(minutes=1)
– 1초 : datetime.timedelta(seconds=1)
– 1밀리초 : datetime.timedelta(milliseconds=1)
– 1마이크로초 : datetime.timedelta(microseconds=1)

timedelta로 5시간 30분을 표현하면 datetime.timedelta(hours=5, minutes=30)이라고 하면 된다. 이것을 초(second) 단위로 변경하려면 total_seconds 메서드를 호출하면 초단위로 쉽게 변경할 수 있다.

datetime에서 datetime을 빼면 timedelta 값을 얻을 수 있다.


 
import datetime
 
oneDatetime = datetime.datetime.strptime('2019-04-15 00:00:00', '%Y-%m-%d %H:%M:%S')
twoDatetime = datetime.datetime.strptime('2019-04-16 00:00:10', '%Y-%m-%d %H:%M:%S')
result = twoDatetime - oneDatetime
print(result)         # 1 day, 0:00:10
print(result.days)    # 1
print(result.seconds) # 10
  

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.