파이썬

[Python] DateTime

이진지니지니진 2023. 3. 20. 16:48

datetime 라이브러리

날짜와 시간을 함께 저장하는 datetime 클래스, 날짜만 저장하는 date 클래스, 시간만 저장하는 time 클래스, 시간 구간 정보를 저장하는 timedelta 클래스 등을 제공

 

import datetime

 

datetime.datetime 클래스

# 1. import datetime으로 불러오는 경우
dt = datetime.datetime.now()

# 2. from datetime import datetime으로 불러오는 경우
dt = datetime.now()

print(dt)
print(dt.year)
#2023-03-20 15:33:22.207073
#2023

 

datetime.datetime 클래스 객체의 속성

 

year 연도
month
day
hour
minute
second
microsecond 마이크로초(백만분의 일초)

datetime 메소드

  • weekday() : 요일 반환(0 : 월 ~ 6 : 일)
  • strftime() : 문자열 반환
  • date() : 날짜 정보만 가지는 datetime.date 클래스 객체 반환
  • time() : 시간 정보만 가지는 datetime.time 클래스 객체 반환

strftime() 메소드

날짜와 시간 정보를 문자열로 바꿔주는 메소드

 

%Y 연도 4자리
%m 월 2자리
%d 일 2자리
%H 24시간 형식 2자리
%M 분 2자리
%S 초 2자리
%A 영어로 된 요일 문자열
%B 영어로 된 월 문자열

 

from datetime import datetime

dt = datetime.now()

print(dt)
print(dt.strftime("%Y-%m-%d"))
print(dt.strftime("%A %d. %B %Y"))
#2023-03-20 15:49:34.966060
#2023-03-20
#Monday 20. March 2023

 

strptime() 메소드

문자열로부터 날짜와 시간 정보를 읽어서 datetime.datetime 클래스 객체로 만들어 줌

datetime.datetime.strptime(날짜와 시간 정보를 가진 문자열, 문자열을 해독할 수 있는 형식 문자열)

 

print(datetime.strptime("2023-03-20 15:00", "%Y-%m-%d %H:%M"))
#2023-03-20 15:00:00

timedelta 클래스와 날짜 / 시간 연산

dt1 = datetime.datetime(2023, 3, 20, 14)
dt2 = datetime.datetime(2023, 2, 10, 13)
td = dt1 - dt2

print(td)
print(td.seconds)
#38 days, 1:00:00
#3600

속성

  • days : 일수
  • seconds : 초 (0 ~ 86399)
  • microseconds : 마이크로초 (0 and 999999)

메소드

  • total_seconds() : 모든 속성을 초단위로 모아서 변환
dt1 = datetime.datetime(2023, 3, 20, 14)
dt2 = datetime.datetime(2023, 2, 10, 13)
td = dt1 - dt2
print(td.total_seconds())
#3286800.0

 

datetime.datetime 클래스 객체에 datetime.timedelta 클래스 객체를 더해서 새로운 시간을 구할 수도 있음!

 

t0 = datetime.datetime(2023, 3, 20, 15)
d = datetime.timedelta(days=90, seconds=3600)
print(t0 + d)
#2023-06-18 16:00:00

 

 

 

 출처 https://wikidocs.net/46998

 

'파이썬' 카테고리의 다른 글

[Python] 딕셔너리 관련 함수들  (0) 2023.03.18
[Python] 문자열 정렬하기 ljust, center, rjust, zfill  (2) 2023.03.18
[Python] enumerate, zip 🤐  (3) 2023.03.07
[Python] 순열 / 조합  (0) 2023.02.16
[Python] 내장 산술 함수  (0) 2023.01.03