Coding Diary.

(파이썬) datetime 모듈 본문

Coding/Python

(파이썬) datetime 모듈

life-of-nomad 2023. 5. 9. 06:04
728x90
반응형

import datetime
  • 스탠다드 라이브러리에 있는 datetime 모듈은 '날짜'와 '시간'을 다루기 위한 다양한 '클래스'를 갖추고 있습니다.

 

1. datetime 값 생성

2020년 3월 14일을 파이썬으로 어떻게 표현할 수 있을까요?

pi_day = datetime.datetime(2020, 3, 14)
print(pi_day)
print(type(pi_day))

>>> 2020-03-14 00:00:00
<class 'datetime.datetime'>
  • 위와 같이 시간은 자동으로 00시 00분 00초로 설정되는데 이 또한 직접 설정 가능합니다.
pi_day = datetime.datetime(2020, 3, 14, 13, 6, 15)
print(pi_day)
print(type(pi_day))

>>> 2020-03-14 13:06:15
<class 'datetime.datetime'>

 

2. 오늘 날짜

우리가 날짜와 시간을 정해 주는게 아니라, 코드를 실행한 '지금 이 순간' 의 날짜와 시간을 받아오고 싶다면 아래와 같이 코드를 작성하면 됩니다.

today = datetime.datetime.now()
print(today)
print(type(today))

>>> 2020-04-05 17:49:12.360266
<class 'datetime.datetime'>

 

3. timedelta

  • 두 datetime 값 사이의 기간을 알고 싶으면, 마치 숫자 뺄셈을 하듯이 그냥 빼면 됩니다.
today = datetime.datetime.now()
pi_day = datetime.datetime(2020, 3, 14, 13, 6, 15)
print(today - pi_day)
print(type(today - pi_day))

>>> 22 days, 4:42:57.360266
<class 'datetime.timedelta'>

 

  • 위와 같이 두 datetime 값을 빼면, timedelta 라는 타입이 나오는데, 이것은 날짜 간의 차이를 나타내는 타입입니다.
  • 반대로, timedelta를 생성해서 datetime 값에 더해 줄 수도 있습니다.

 

4. datetime 해부하기

 

  • datetime 값에서 '연도'나 '월' 같은 값들을 추출하는 방법입니다.
today = datetime.datetime.now()

print(today)
print(today.year) #연도
print(today.month) #월
print(today.day) #일
print(today.hour) #시
print(today.minute) #분
print(today.second) #초
print(today.microsecond) #마이크로초

>>> 2023-04-05 17:59:21.709817
2023
4
5
17
59
21
709817

 

5. datetime 포맷팅

 

  • datetime 값을 출력하면 별로 예쁘지 않습니다. 하지만 strftime() 함수를 사용하면 바꿀 수 있습니다.
today = datetime.datetime.now()

print(today)
print(today.strftime("%A, %B %dth %Y"))

>>> 2023-04-05 18:09:55.233501
Sunday, April 05th 2023
  • %A, %B, %d, %Y와 같은 걸 포맷 코드라고 하는데 아래와 같습니다.

 

728x90
반응형