首页 > 解决方案 > 计算到月底的天数

问题描述

我想数天到月底。例如,如果一个月有 30 天,而我在第 25 天,我想收到 5 作为答案。那可能吗?

标签: swiftdate

解决方案


正如 vadian 在评论中已经提到的,您可以获得日期的月份天数范围,获取上限,减去一个,然后减去当前日期:

extension Date {
    var lastDayOfMonth: Int { Calendar.current.range(of: .day, in: .month, for: self)!.count }
    var day: Int { Calendar.current.component(.day, from:  self) }
    var daysToEndMonth: Int { lastDayOfMonth - day }
}

Date().daysToEndMonth  // 10

推荐阅读