如何获取与指定日期匹配的上月日期?[Swift]



如何获取与指定日期匹配的上月日期?Swift

如果我有这个功能getPreviousMonthDate(matchingDay day: Int) -> Date

示例: 以下(dd/mm/yyyy(

  • 如果今天是25/07/2022,我叫getPreviousMonthDate(matchingDay: 27):返回值为27/06/2022

  • 如果今天是18/04/2022,我叫getPreviousMonthDate(matchingDay: 14):返回值为14/03/2022

  • 如果今天是15/01/2022,我叫getPreviousMonthDate(matchingDay: 16):返回值为16/12/2021

等等…

您可以使用以下日期组件:

func getPreviousMonthDate(matchingDay day: Int) -> Date {
let calendar = Calendar.current
let comps = calendar.dateComponents([.year, .month, .day], from: Date())
var comps2 = DateComponents()
comps2.year = comps.year
comps2.month = comps.month! - 1
comps2.day = day
return calendar.date(from: comps2)!
}

我强制打开日期以匹配您的函数声明,但我建议您正确处理可选日期。

最新更新