시점, 기간, 시간대를 구분합니다.
datetime은 날짜와 시각, timedelta는 기간을 표현합니다. 실제 시점을 저장할 때는 timezone 정보가 있는 aware datetime을 사용하고 보통 UTC로 저장한 뒤 사용자 화면에서 지역 시간대로 변환합니다.
created_at은 tzinfo=timezone.utc를 가진 aware datetime이라 isoformat 결과 끝에 +00:00이 붙습니다. 여기에 timedelta(days=7)를 더하면 8월 12일 같은 시각이 되고, 두 시점을 빼면 다시 timedelta가 되어 7 days, 0:00:00이 출력됩니다.
strftime은 datetime을 문자열로 만들고 strptime은 정해진 형식의 문자열을 파싱합니다. 월별 일수 계산을 고정 초로 대신하지 않습니다.
서버, 데이터베이스, API의 시간대 기준을 통일하고 예약 작업과 일광절약시간이 있는 지역의 변환을 테스트합니다.
시간대 없는 datetime과 있는 datetime을 섞어 비교하면 오류가 나거나 의미가 모호해집니다.
직접 바꿔보세요마감일까지 남은 일수와 ISO 8601 문자열을 출력하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.