Swift Помогите извлечь значение месяца из будущей даты - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь вычислить значение месяца (и года) от даты следующего месяца.Я следовал инструкциям относительно того, как определить дату следующего месяца, но мне просто нужно значение месяца.

Я кратко попытался использовать DateFormatter, но это немного превышало мои знания о датах.

let calendar = Calendar.current

let rightNow = Date()

let monthOfYear = calendar.component(.month, from: rightNow)

let nextMonthOfYear = calendar.date(byAdding: .month, value: 1, to: rightNow)

Если мы находимся в июне, я ожидаю получить число 7 для значения месяца следующего месяца.

1 Ответ

2 голосов
/ 28 июня 2019

Вы можете получить компоненты года и месяца от текущей даты, добавить один к значению месяца, создать новую дату из него и извлечь его значение месяца:

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!
    }
}

let now = Date()                     // "28 Jun 2019 17:27"
let nextMonthDate = now.nextMonth    // "1 Jul 2019 00:00"
let nextMonth = nextMonthDate.month  // 7

илипросто

Date().nextMonth.month // 7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...