본문 바로가기
Django

Django 에서 date 객체 활용 하기

by Shark_상어 2023. 4. 18.
728x90

오늘은 파이썬 에서 과연 현재 날짜가 몇 주차 인지 궁금 해져서 조사 하게 되었고

이번 정리는 Django에서 날짜 객체로 필터링 하는 방식에 대해 정리 해보고자 한다.

임의의 모델은 MyModel로 작명 하겠습니다.

 

1. 'date':주어진 날짜 와 일치 하는 데이터를 가져 오기

MyModel.objects.filter(date=date(2023, 4, 18))

 

2. 'year':해당 연도와 일치 하는 데이터를 가져 오기

MyModel.objects.filter(date__year=2023)

 

3. 'month': 해당 월과 일치 하는 데이터를 가져 오기

MyModel.objects.filter(date__month=4)

 

4.'day': 해당 날짜와 일치 하는 데이터를 가져 오기

MyModel.objects.filter(date__day=18)

 

5. 'range': 주어진 범위 내에 있는 데이터를 가져오기

MyModel.objects.filter(date__range=(start_date, end_date))

 

6. 'lt': 주어진 날짜 이전 데이터를 가져 오기.

MyModel.objects.filter(date__lt=date(2023, 4, 18))

 

7. 'lte': 주어진 날짜 이전 또는 해당 날짜와 일치 하는 데이터를 가져 오기

MyModel.objects.filter(date__lte=date(2023, 4, 18))

 

8. 'gt': 주어진 날짜보다 이후 데이터를 가져 오기.

MyModel.objects.filter(date__gt=date(2023, 4, 18))

 

9. 'gte': 주어진 날짜 이후 또는 해당 날짜와 일치 하는 데이터를 가져오기

MyModel.objects.filter(date__gte=date(2023, 4, 18))

 

그리고 마지막으로 제일 궁금 했던 현재 날짜가 몇 주차 인지 알 수 있는 방법 은

 

import datetime

today = datetime.date.today()
year, week_num, day_of_week = today.isocalendar()
print("현재 날짜는 {}년 {}주차입니다.".format(year, week_num))

 

이렇게 코드를 작성 하게 되면 몇 주차 인지 알 수 있다.

728x90