Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift帮助从未来日期提取月份值_Swift_Date - Fatal编程技术网

Swift帮助从未来日期提取月份值

Swift帮助从未来日期提取月份值,swift,date,Swift,Date,我试图计算从下个月的日期算起的月份(和年份)值。我已经按照说明计算了下个月的日期,但我只需要月值 我曾经尝试过使用DateFormatter,但这有点超出了我对日期的了解 let calendar=calendar.current 让rightNow=Date() 让monthOfYear=calendar.component(.month,from:rightNow) 让nextMonthOfYear=calendar.date(通过添加:.month,值:1,到:rightNow) 如果我

我试图计算从下个月的日期算起的月份(和年份)值。我已经按照说明计算了下个月的日期,但我只需要月值

我曾经尝试过使用DateFormatter,但这有点超出了我对日期的了解

let calendar=calendar.current
让rightNow=Date()
让monthOfYear=calendar.component(.month,from:rightNow)
让nextMonthOfYear=calendar.date(通过添加:.month,值:1,到:rightNow)

如果我们在6月份,我希望下个月的月值为7。

您可以从今天的日期获取年和月组件,将一个添加到月值,从中创建新日期并提取其月值:

extension Date {
    var year: Int {
         return Calendar.current.component(.year, from: self)
    }
    var month: Int {
        return Calendar.current.component(.month, from: self)
    }
    var nextMonth: Date {
        return DateComponents(calendar: .current, year: year, month: month+1).date!
    }
}

或者干脆

Date().nextMonth.month // 7

您可以从今天的日期获取年和月组件,将其添加到月值中,从中创建新日期并提取其月值:

extension Date {
    var year: Int {
         return Calendar.current.component(.year, from: self)
    }
    var month: Int {
        return Calendar.current.component(.month, from: self)
    }
    var nextMonth: Date {
        return DateComponents(calendar: .current, year: year, month: month+1).date!
    }
}

或者干脆

Date().nextMonth.month // 7