TIL-no22. Python datetime module

sanghun Lee·2020년 7월 6일
0

Today I Learned

목록 보기
20/66

datetime

날짜와 시간을 사용하게 해주는 라이브러리

import datetime

아래와 같이 사용하면 된다.

import datetime
datetime.datetime.now()

#output
datetime.datemtime(현재 년 월 일 시 분 초 백만분의 일초)

어떤 클래스인지 알아보자

start_time = datetime.datetime()
type(start_time)
#output 
<class 'datetime.datetime'>

repalce

repalce는 이미 만들어진 것을 바꾸기 위한 용도로 사용됨.

start_time = start_time replace(year = 2017, month =2, day=1) # 이렇게 대체가 가능함.
print(start_time)
#output
datetime.datemtime(2017,2, 1, 시, 분,초, 백만분의 일초)

초기부터 설정값으로 만들기

만들 때 부터 설정을 할 수도 있다
이렇게 설정을 해주면 된다.

start_time = datetiem.datetime(2016,2,1)

목적날짜까지의 남은시간 계산

목적날짜까지의 남은시간 계산방법은 아래와 같다

import datetime
start_time = datetime.datetime(2016,2,1)
how_long = start_time - datetime.datetime.now() #type은 <class ' datetime.timedelta'> 이다

how_long.days # 날짜와 초만 알려주고 시간과 분 은 지원하지 않음.
how_long.seconds
#output
9
33639
로 계산되어 나온다.

timedelta

시간의 연산을 가능하게 해주는 클래스이다.
위에도 조금 나왔듯이 사용하면 아주 유용하다
예제를보며 이해해보쟈아아

import datetime
hundred = datetime.timedelta(days = 100)
datetime.datetime.now() + hundred # now 와 hundred의 클래스가 다르지만 더하기 연산이 가능.
hundered_before = datetime.timedelta(days = -100)
datetime.datetime.now() + hundred_before
#이렇게 하면 백일 전 값이 나옴
#이렇게 하기 보단 아래와 같이도 가능

datetime.datetime.now() - hundred
# + hundred_before 를하는것과 같이 똑같이나옴
tomorrow = datetime.datetime.now().replace(hour = 9 , minute = 0 , second = 0) +datetime.timedelta(days=1)
#output 은 하루 뒤의 날짜가 나옴. 

datetime과 timedelta 클래스를 능숙하게 사용하면 위와같이 시간과 날짜를 자유롭게 다룰 수 있다.

profile
알고리즘 풀이를 담은 블로그입니다.

0개의 댓글