데이터베이스에서 현재 달의 데이터들을 읽어내고 싶다면, 이번달의 첫 시간과 마지막 시간을 알아야 합니다.
2021-01-01 00:00:00
2021-01-31 23:59:59
오늘은 위 두개를 알아내는 파이썬 코드에 대해 소개해드리도록 하겠습니다.
우선 로직(Logic)을 설명하겠습니다.
1) 현재 시간을 구한다. 2021-01-04 01:06:13.872087
2) 현재 달의 첫 시간을 찾아낸다. 2021-01-01 00:00:00
3) 거기에 한달을 더해서 다음 달의 첫 시간을 찾아낸다. 2021-02-01 00:00:00
4) 거기에서 1초를 빼서 이번 달의 마지막 시간을 찾아낸다. 2021-01-31 23:59:59
위 로직을 구현하는 파이썬 코드는 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
from datetime import datetime, timedelta
from dateutil import relativedelta
now = datetime.today()
print("현재 시간:", now)
this_month_first = datetime(now.year, now.month, 1)
print("이번달 첫시간:", this_month_first)
next_month_first = this_month_first + relativedelta.relativedelta(months=1)
print("다음달 첫시간:", next_month_first)
this_month_last = next_month_first - timedelta(seconds=1)
print("이번달 마지막 시간:", this_month_last)
|
cs |
실행결과 다음과 같은 결과가 출력되었습니다. 우리가 원하는 시간 정보들을 잘 얻어냈습니다.
'Dev > python' 카테고리의 다른 글
[python] cv2.imread, cv2.imwrite 한글 경로 인식을 못하는 문제 해결 방법 (2) | 2021.01.08 |
---|---|
[python] 어떤 디렉토리 내에 존재하는 모든 이미지 파일들의 경로 리스트 만들기 (0) | 2021.01.08 |
[python] 쉽고 간단하게 마스크 착용 유무 판별기 만들기 (106) | 2021.01.07 |
[python] 랜덤 비밀번호 생성하기 (6) | 2021.01.06 |
[python] 리스트 내 중복된 요소 없애고 하나씩만 남게 하는 3가지 방법 (2) | 2021.01.04 |
[flask+jinja2] 행 개수 세기, 문자열 길이 산출하기, length 필터 (0) | 2020.12.18 |
[python] 튜플의 값을 바꿔주려면? 리스트로 변환한 후 다시 튜플로 (0) | 2020.12.14 |
[flask+jinja2] 중복되는 html 처리, {% include %} 사용 (6) | 2020.12.09 |