일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- springboot
- aggs
- Kafka
- MySQL
- ELASTIC
- sort
- Java
- 차트
- TensorFlow
- plugin
- licence delete curl
- 파이썬
- docker
- high level client
- analyzer test
- 900gle
- flask
- Elasticsearch
- aggregation
- API
- zip 암호화
- zip 파일 암호화
- license delete
- Test
- License
- matplotlib
- Mac
- token filter test
- Python
- query
- Today
- Total
개발잡부
[python] 날짜계산 (datetime) 본문
kibana 에서 대시보드를 만들려고 하는데 시계열 데이터를 만들고 싶어서 DB에서 날짜를 임의로 업데이트를 해야겠다.
python 에서 몇분전, 몇시간전 이런 식으로 날짜를 계산하고싶은데 datetime 을 활용해보잣.
from datetime import datetime
now = datetime.now()
print("현재 :" , now)
출력 : 현재 : 2024-02-03 18:57:38.572549
timedelta를 사용해서 날짜 계산을 할껀데 import를 수정하고
from datetime import datetime, timedelta
마이크로 세컨드를 계산해보면
before_one_microsecond = now - timedelta(microseconds=1)
print("1 microsecond 전 :", before_one_microsecond)
after_one_microsecond = now + timedelta(microseconds=1)
print("1 microsecond 후 :", after_one_microsecond)
출력
1 microsecond 전 : 2024-02-03 19:07:31.055255
1 microsecond 후 : 2024-02-03 19:07:31.055257
위와 같다.
timedelta 옵션은 microseconds, milliseconds, seconds, minutes, hours, days, weeks Parameter에 값을 원하는 수로 입력하고
timedelta(weeks=1, days=3, hours=2)
이런식으로도 사용할 수 있음.
relativedelta 를 사용하여 계산하는 방법은
from datetime import datetime
from dateutil.relativedelta import relativedelta
import 수정하고 문법은 timedelta 와 거의 동일하며
before_one_microsecond = now - relativedelta(microseconds=1)
print("1 microsecond 전 :", before_one_microsecond)
after_one_microsecond = now + relativedelta(microseconds=1)
print("1 microsecond 후 :", after_one_microsecond)
차이점은
timedelta 에는 Parameter에 months와 years가 존재하지 않음
relativedelta 에는 milliseconds가 존재하지 않음
즉, 마이크로초 전, 마이크로초 후 를 구하고 싶다면 timedelta를 사용해야 하고,
몇달 전, 몇달 후, 몇년 전, 몇년 후 를 구하고 싶다면 relativedelta를 사용해야함.
내 DB 테이블의 데이터 포멧은
이렇게 되어있으니 포멧을 수정해보자.. 하지마까?
'Python' 카테고리의 다른 글
python 비동기 API 호출 (0) | 2024.03.13 |
---|---|
[python] ConnectionTimeout caused by - ReadTimeoutError (0) | 2024.03.07 |
[python] DB data to json (0) | 2023.09.04 |
[python] 오탈자 교정 - SymSpellpy (0) | 2023.07.02 |
[python] .txt 파일 라인 카운트 (1) | 2023.05.19 |