iOS Swift converting calendar component int month to medium style string month iOS Swift converting calendar component int month to medium style string month swift swift

iOS Swift converting calendar component int month to medium style string month


You can use DateFormatter as follow:

extension Formatter {    static let monthMedium: DateFormatter = {        let formatter = DateFormatter()        formatter.dateFormat = "LLL"        return formatter    }()    static let hour12: DateFormatter = {        let formatter = DateFormatter()        formatter.dateFormat = "h"        return formatter    }()    static let minute0x: DateFormatter = {        let formatter = DateFormatter()        formatter.dateFormat = "mm"        return formatter    }()    static let amPM: DateFormatter = {        let formatter = DateFormatter()        formatter.dateFormat = "a"        return formatter    }()}extension Date {    var monthMedium: String  { return Formatter.monthMedium.string(from: self) }    var hour12:  String      { return Formatter.hour12.string(from: self) }    var minute0x: String     { return Formatter.minute0x.string(from: self) }    var amPM: String         { return Formatter.amPM.string(from: self) }}

let date = Date()let dateMonth  = date.monthMedium  // "May"let dateHour   = date.hour12       // "1"let dateMinute = date.minute0x     // "18"let dateAmPm = date.amPM           // "PM"


NSDateFormatter has monthSymbols, shortMonthSymbols and veryShortSymbols properties.

So try this:

let dateFormatter: NSDateFormatter = NSDateFormatter()let months = dateFormatter.shortMonthSymbolslet monthSymbol = months[month-1] as! String // month - from your date componentsprintln(monthSymbol)


I am adding three types. Have a look.        //Todays Date        let todayDate = NSDate()        let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!        let components = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay, fromDate: todayDate)        var (year, month, date) = (components.year, components.month, components.day)        println("YEAR: \(year)  MONTH: \(month) DATE: \(date)")        //Making a X mas Yr        let morningOfChristmasComponents = NSDateComponents()        morningOfChristmasComponents.year = 2014        morningOfChristmasComponents.month = 12        morningOfChristmasComponents.day = 25        morningOfChristmasComponents.hour = 7        morningOfChristmasComponents.minute = 0        morningOfChristmasComponents.second = 0        let morningOfChristmas = NSCalendar.currentCalendar().dateFromComponents(morningOfChristmasComponents)!        let formatter = NSDateFormatter()        formatter.dateStyle = NSDateFormatterStyle.LongStyle        formatter.timeStyle = .MediumStyle        let dateString = formatter.stringFromDate(morningOfChristmas)        print("dateString : \(dateString)")        //Current month - complete name        let dateFormatter: NSDateFormatter = NSDateFormatter()        let months = dateFormatter.monthSymbols        let monthSymbol = months[month-1] as! String        println("monthSymbol  : \(monthSymbol)")Print Results:YEAR: 2015  MONTH: 10 DATE: 9dateString : December 25, 2014 at 7:00:00 AMmonthSymbol  : October