簡體   English   中英

如何獲取與指定日期匹配的上個月的日期? [迅速]

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM