본문 바로가기
SW 프로그래밍/파이썬

datetime 모듈

by N2info 2022. 7. 26.

현재시간 구하기

import datetime

d = datetime.datetime.now()
print (d)
2021-04-18 16:50:43.895283

날짜중 일부 추출

d = datetime.datetime.now()
print (d.year,'년 ', d.month,'월 ', d.day,' 일')
print (d.hour,'시 ',d.minute,'분 ',d.second,'초')
2021 년  4 월  18  일
16 시  58 분  38 초

strftime() 메소드로 원하는 날짜 형식대로 출력

포맷 코드 설명
%a 요일을 짧게 표시합니다. Sun
%A 요일을 길게 표시합니다. Sunday
%w 요일을 숫자로 표시합니다. 일요일을 0부터 시작하여 토요일은 6입니다. 0
%d 날(day)을 출력합니다. 1부터 31까지가 있겠죠 18
%b 월을 영어로 짧게 출력해줍니다. Apr
%B 월을 영어로 길게 출력해줍니다. April
%m 월을 숫자로 표현합니다. 04
%y 년을 짧게 숫자로 표시합니다 21
%Y 년을 길게 숫자로 표시합니다. 2021
%H 시간을 24시간의 표현 방식(00-23)으로 숫자로 표시합니다. 18
%I 시간을 0-12시 표시 방법으로 표시합니다 6
%p 오전(AM), 오후(PM)을 표시합니다. PM
%M 분(0 - 59)을 표시합니다. 38
%S 초(0 - 59)를 표시합니다. 55
%f microsecond단위를 표시합니다. 545433
%j 일년중 몇번째일인지 나타냅니다. 108
%U 일년 중 몇번째 주 인지 나타내니다. 이 포맷에서 일요일은 일주일의 시작입니다. 일년은 52주, 53주입니다. 108
%W 일년 중 몇번째 주 인지 나타내는 것은 %U와 같지만 일주일의 시작을 월요일로 정합니다. 108
%c Local version의 날짜와 시간을 나타냅니다. Sun Apr 18 17:26:26 2021
%x Local version의 날짜만 나타냅니다. 04/18/21
%X Local version의 시간만 나타냅니다. 17:26:26

datetime 연산

import datetime

birthday = datetime.datetime(1988,12,11)
now = datetime.datetime.now()
elapsed = now - birthday
print (elapsed)
11816 days, 17:39:16.585322

datetime을 이용해 시간, 날짜 더하고 빼기

  import datetime
   
  now = datetime.datetime.now()
  now_after_777 = now + datetime.timedelta(days=777)
   
  print(now_after_777)  # 2021-04-14 21:15:54.891525

days 외에 seconds, microseconds, milliseconds, minutes, hours, weeks 도 가능