Home > Software design >  Swift - iOS Unable to convert to required date format
Swift - iOS Unable to convert to required date format

Time:07-21

I am using date picker in my application. After selects particular date, It's not able to converting to required format.

Datepicker date:

2021-07-21 13:53:38 0000

expected format

21 July 2021

I am trying with below code

static func formatStringToDate(date: String) -> String? {
        
        
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format
        dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone?
        let datee = dateFormatter.date(from: "2021-07-21 13:53:38  0000")


        dateFormatter.dateFormat = "d MMM yyyy"///this is what you want to convert format
        dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone?
        let timeStamp = dateFormatter.string(from: datee!)

        return timeStamp ?? ""
     }

Any suggestions?

CodePudding user response:

I have found solution. Here it is

let date = formatToDate(date: datePicker.date) 

    static func formatStringToDate(date: Date) -> String? {
                    
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = "MMMM d, yyyy"
            let formattedDate = dateFormatter.string(from: date)
            return formattedDate // "21 July 2022"
        
        }
}

CodePudding user response:

Actually the correct way to write this to get you desired format should be:

let date = formatToDate(date: datePicker.date) 

static func formatStringToDate(date: Date) -> String? {
                
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd MMMM yyyy"
    let formattedDate = dateFormatter.string(from: date)
    return formattedDate // "21 July 2022"
    
}
  • Related