✅ 두 날짜 간의 차이를 일(day) 단위로 계산해주는 메서드
private func daysBetween(_ start: Date, _ end: Date) -> Int {
let calendar = Calendar.current
let components = calendar.dateComponents([.day], from: start, to: end)
return (components.day ?? 0) + 2
}
✅ 메서드 사용하기
func configure(_ readItem: ReadItemModel) {
titleLabel.text = readItem.title
let startDate = readItem.startDate
let endDate = readItem.endDate
let today = Date()
let startReadDate = self.formattedDate(startDate)
let endReadDate = self.formattedDate(endDate)
dateLabel.text = "📅 " + startReadDate + " ~ " + endReadDate
// ✅ 두 날짜 간의 차이 계산
let totalDays = self.daysBetween(startDate, endDate)
let progressDays = self.daysBetween(startDate, today) - 2
let validProgessDays = min(progressDays, totalDays)
let completeArray = Array(repeating: "⚪️", count: totalDays)
let updatedArray = completeArray.enumerated().map { index, circle in
return index < validProgessDays ? "🟢" : circle
}
completeLabel.text = updatedArray.joined(separator: " ")
}
'Project > 30MinRead' 카테고리의 다른 글
📅 독서 시간을 완료한 날짜 저장하여 표시하기 (0) | 2025.03.24 |
---|---|
🎉 타이머가 완료된 시점에 사용자에게 알림을 주기! (0) | 2025.03.23 |
❌ 날짜 잘못 선택하면.. 오류창 띄워야 하는데.. (0) | 2025.03.20 |
🤔 실시간.. 버튼 활성화 해보기 (Combine) (0) | 2025.03.19 |
❓ UICalendarSelectionMultiDate에서 특정 조건에서 선택을 막기! (UI 표시 X) (0) | 2025.03.17 |