web-dev-qa-db-fra.com

Comment puis-je obtenir le mois en cours en tant que chaîne dans Swift:

Je dois obtenir mai comme mois en cours mais je ne pouvais pas le faire. Comment puis-je atteindre cet objectif.

   let date = NSDate()
    let calendar = NSCalendar.currentCalendar()
    let components = calendar.components([.Day , .Month , .Year], fromDate: date)

    let year =  components.year
    let month = components.month
    let day = components.day

J'ai fait ça mais ça n'a pas marché.

26
iron
let now = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "LLLL"
let nameOfMonth = dateFormatter.string(from: now)
62
André Slotta

Si vous utilisez Swift 3., les extensions et la classe Date sont un excellent moyen d’aller.

essayez ci-dessous le code

extension Date {
    var month: String {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "MMMM"
        return dateFormatter.string(from: self)
    }    
}

Obtenez du travail avec comme ci-dessous:

 let date = Date()
 let monthString = date.month
26
Balaji Galave

Vous utilisez DateFormatter () voir ci-dessous pour cette utilisation dans une extension à Date.

Ajoutez ceci n'importe où dans votre projet dans la portée globale.

extension Date {
    func monthAsString() -> String {
            let df = DateFormatter()
            df.setLocalizedDateFormatFromTemplate("MMM")
            return df.string(from: self)
    }

}

Ensuite, vous pouvez l'utiliser n'importe où dans votre code.

let date = Date()
date.monthAsString() // Returns current month e.g. "May"
4
Luke Stanyer