728x90
반응형
.. 이건 왜 봐도 봐도 쓰려고 하면 헷갈리는지..
코드잇 강의에서는 strftime만 썼어서 그런 것 같기도 하고..
- datetime 모듈을 이용해서 시간과 날짜를 구하고 계산도 가능함.
- 계산에 따라서 모듈은 계속 추가됨.
- strptime: 입력 받는 문자열의 날짜 datetime.strptime(String, format)
-> 형식을 기억할 것.
from datetime import datetime
input_date = datetime.strptime(date_str, "%Y-%m-%d") #숫자를 여러 개 받으면 split해줘야함
print(f'{input_date}는 {day_type}')
#2024-07-23 00:00:00는 Tuesday (weekday) 시간이 같이 나와
print(f"{input_date.strftime("%Y-%m-%d")}는 {day_type}")
#시간 없애려면 출력 형식 지정해줄 것.
#2024-07-23
- strftime: datetime 객체.strftime(format)
from datetime import datetime
#이렇게 쓰면 객체에 참조함
day_type = f"{input_date.strftime('%A')} (weekday)" #%A 요일 나타내는 것.
+++ 이것도 헷갈리니깐... ㅎ
++ datetime 은 시간도 같이 나오지만 date 모듈은 날짜만 뜸.
from datetime import datetime, date
# 현재 날짜와 시간
current_datetime = datetime.now()
print(f'날짜와 시간 {current_datetime}')
#현재 날짜
current_date = date.today()
print(f'현재 날짜 {current_date}')
+++ timedelta는 시간 계산용++
from datetime import timedelt
delta = timedelta(
days=50,
seconds=27,
microseconds=10,
milliseconds=29000,
minutes=5,
hours=8,
weeks=2
)
#현재 날짜 시간
now = datetime.now()
#시간 계산
f_date = now + delta
print("현재 날짜 :", now)
print("예약 시간 :", f_date)
print(delta)
res = datetime.strptime('31/01/22 23:59:59.999999', '%d/%m/%y %H:%M:%S.%f')
print(res)
++++dateutil.relativedelta는 날짜 계산용+++++
from dateutil.relativedelta import relativedelta #datetime 하려면 무조건 써야 함.
#오늘 날짜에서 종강까지 몇년 몇월 몇일 몇시간 남았을까?
#오늘 날짜.
today = datetime.now()
#종강 날짜
target_date = datetime(2025, 1,10) # 31일 이런 건 계산을 하긴 해야함.
#날짜 차이 계산
res = relativedelta(target_date, today)
print(res)
print(f'{res.months}개월 {res.days}일 , {res.hours}시간이 남았다. ')
print(target_date-today) #이러면 다시 계산을 해줘야 함.. 171 days, 9:57:13.629289
++++calendar로 달력도 나와+++++
import calendar
#2024년도 달력을 출력하자.
print(calendar.calendar(2024))
print('=====================')
#2024년도 7월의 달력을 출력해줘
print(calendar.month(2024,7))
++++++헷갈리지 말 것+++
%y : 두 자리 수의 연도 ex) 19, 20, 21
%Y : 네 자리 수의 연도 ex) 2019, 2020, 2021
%m : 0을 채운 두 자리 수의 월 ex) 01, 02 ... 11 ,12
%d : 0을 채운 두 자리 수의 일 ex) 01, 02 ... 30, 31
%I : 0을 채운 12시간제의 시간 ex) 01, 02 … 12
%H : 0을 채운 24시간제의 시간 ex) 00, 01 … 23
%M : 0을 채운 두 자리 수의 분 ex) 00, 01 ... 58, 59
%S : 0을 채운 두 자리 수의 초 ex) 00, 01 ... 58, 59
- 위 식별자 정리 참조
728x90
반응형
'Web Developing > Python' 카테고리의 다른 글
[python] *를 매개변수 앞에 붙일 때와 아닐 때 (0) | 2024.07.21 |
---|---|
[python] 객체와 클래스 연습 (2) | 2024.07.20 |
[python] 버전 변경이 안 될 때, anaconda와 부딪힌 것일 수 있음. (0) | 2024.07.15 |
[Python] sort, sorted 주의 (0) | 2024.05.14 |
[Python] Object Oriented Programming (0) | 2024.04.23 |