티스토리 뷰

01 Python - DateTime

DateTime, delta 날짜 연산, 문자열 parse

  • days, hours 계산 -> delta
  • days = timedelta(days=-20)
  • today+days -> 20일 전 계산
  1. date, datetime

     from datetime import date, datetime
    
     today = date.today()
     print(today)        # 2020-07-15
    
     # 오늘 날짜는 : 2020년 07월 15일 입니다.
     my_str = "오늘 날짜는 : {}년 {}월 {}일 입니다."
     my_str = my_str.format(today.year, today.month, today.day)
     print(my_str)
    
     my_datetime = datetime.today()
     print(my_datetime)      # 2020-07-15 10:41:12.427045
     # 현재 시간은 : 10시 42분 입니다.
     print("현재 시간은 : {}시 {}분 입니다.".format(my_datetime.hour, my_datetime.minute))
  1. 날짜 연산 - days, hours => delta ( 내장함수)로 처리

     from datetime import date, datetime, timedelta
    
     today = date.today()     # 오늘 날짜를 구한다.
     days = timedelta(days=-20)
     print(today + days)     # 2020-06-25 , 차이값에 델타값 (하루 전)을 더해준다
    
     today = datetime.today()
     hours = timedelta(hours=-5)
     print(today + hours)    # 2020-07-15 05:54:59.888379
  1. 날짜 연산 - months, year => python-dateutil (외부 모듈)

      # 1달 전 날짜를 알아보자
      # 예) 오늘 날짜가 3월 31일  => 한달 전 날짜는? 2월 28일
    
      today = date.today()     # 오늘 날짜를 구한다.
      days = timedelta(months=-1) # invalid keyword error
      days = timedelta(years=-1)  # invalid keyword error
      # => 연도와 월에 대한 timedelta는 존재하지 않아요!
      #   외부 module python-dateutil 설치
    
      from dateutil.relativedelta import relativedelta
    
      today = date.today()
      days1 = relativedelta(months=-5)
      print(today + days1)    # 2020-02-15
    
      days2 = relativedelta(years=-1)
      print(today + days1 + days2)     # 2019-02-15
  1. 문자열 parse

     # 현재 날짜와 시간만 하고 있어요!
     # 문자열로 되어 있는 날짜를 진짜 날짜로 변환해서 연산하기
    
     from datetime import datetime
     from dateutil.parser import parse
    
     my_date = parse("2019-01-30")
     print(my_date)      # 2019-01-30 00:00:00
    
     my_date = datetime(2019, 1, 30)
     print(my_date)      # 2019-01-30 00:00:00
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함