We-Co

[Python] 날짜 관리 - datetime 라이브러리를 사용해보자! 본문

Python

[Python] 날짜 관리 - datetime 라이브러리를 사용해보자!

위기의코딩맨 2024. 2. 19. 14:34
반응형

안녕하세요. 위기의 코딩맨입니다.

오늘은 저번시간에 이어서 실무에서 많이 접하게 되는 날짜에 대해서 쉽게 관리할 수 있도록

도움을 주는 datetime 라이브러리에 대해서 간단하게 알아보려합니다.

 

[ datetime ]

 

처음 라이브러리를 사용할땐, 아래와 같이 import로 선언해 주어야합니다.

다른 외부 라이브러리를 사용하기 위해선 install이 필요한 경우도 있습니다.

import datetime

 

아래 코드와 같이 day_1에 날짜 형식의 객체를 만들고 출력해보았습니다.

print 형식은 yyyy-mm-dd 형식으로 출력이 되는 것을 확인할 수 있습니다.

day_1 = datetime.date(2024,2,19)
print(day_1)
day_1

 

이제 2개의 객체를 만들고 날짜 차이를 구해보도록 하겠습니다.

day_1 = datetime.date(2024,2,19)

day_2 = datetime.date(2023,2,19)

day_3 = day_1 - day_2

print(day_3)
day_3

 

 

2개의 객체에서 365일의 차이를 확인할 수 있습니다.

 

그리고 아래와 같이 year, month, day에 접근할 수 있습니다. 

차례대로 2024, 2, 19, 15, 30, 00 이 출력되는 것을 확인할 수 있습니다.

day_1 = datetime.date(2024,2,19)
time_1 = datetime.time(15,30,00)

print(day_1.year)
print(day_1.month)
print(day_1.day)

print(time_1.hour)
print(time_1.minute)
print(time_1.second)

 

2개의 객체를 합치는 함수도 제공됩니다.

combine 을 사용하시면 됩니다.  

출력 내용은 2024-02-19 15:30:00 

dt = datetime.datetime.combine(day_1, time_1)
print(dt)

 

그리고 해당 일자의 요일도 확인할 수 있습니다.

사용함수는 weekday() 입니다.

0 - 월요일 

1 - 화요일 ... 

6 - 일요일로 출력이 됩니다.

day_1.weekday()

 

오늘 날짜로 기준을 잡고싶으면

아래 date.today()함수를 사용하시면 됩니다.

today_ = datetime.date.today()
print(today_)

 

여기서 문제! 

금일 기준으로 100일 후의 날짜를 구하기 위해서는

어떻게 해야할까요?!

 

add_day = datetime.timedelta(days=100)
min_day = datetime.timedelta(days=100)

result_day = today_ + add_day
result_day2 = today_ - min_day

print(result_day)
print(result_day2)

 

100일의 대한 객체를 생성하고! 

코드 상으론 가독성을 위해 2개를 생성했지만 하나만 생성하고 진행해도 됩니다!

+ - 를 이용해서 간단하게 날짜를 구하시면 됩니다.

참 쉽죠?

 

 

오늘은 정말 간단하게 datetime 라이브러리를 사용해보았습니다.

실무적으로 날짜를 많이 접하게되는데 해당 라이브러리를 사용해서 쉽게 관리를 해주시면 될 것 같습니다!

 

조금 더 많은 정보를 원하시면

아래 링크 들어가셔서 확인해 주시면 될 것 같습니다. 

파이썬의 정식 라이브러리 사이트입니다.

 

datetime — Basic date and time types

Source code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...

docs.python.org

반응형