[英]How to get the date of previous month matching specified day ? [Swift]
如何获取与指定日期匹配的上个月的日期? 在 Swift
如果我有这个 function 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)!
}
我强制打开日期以匹配您的 function 声明,但我建议您正确处理可选日期。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.