web-dev-qa-db-fra.com

swift NSDate AM and Pm Format

Pour convertir la date et l'heure, j'ai utilisé ceci:

 let formatter = NSDateFormatter()
 formatter.calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierISO8601)
 formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
 formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
 formatter.dateFormat = "M/dd/yyyy, h:mm"
 formatter.AMSymbol = "AM"
 formatter.PMSymbol = "PM"
 let dateString = formatter.stringFromDate(model.courseDate)
 print(dateString)

Si la date du cours est "courseDate =" 2017-01-09 01:00:00 +0000 ";" mais je reçois comme ceci en version imprimée: 1/09/2017, 1: sans AM ni PM.

Comment puis-je atteindre cet objectif?

Merci.

10
Sam

selon les spécifications du formateur de date

Vous pouvez récupérer une date au format 24h au lieu de demander AM/PM en utilisant HH au lieu de hh

la date "21/11/2016 01:30" (pm) serait donc "21/11/2016 13:30".

cependant, si vous devez imprimer le format, vous pouvez l'imprimer en utilisant:

une

Plus de détails sur la date ici

12
CptEric

Selon Apple formateur de date général, vous devez utiliser "M/jj/aaaa, hh: mm a" dans votre format de date.

comme:formatter.dateFormat = "M/dd/yyyy, hh:mm a"

J'espère que ceci vous aidera!

8
Shivani Gor

utiliser le code suivant peut vous aider pleinement

// Fonction d'appel

let dateTime = self.convertDateFormaterAamer(sendTimeStep, inputDateFormate: "dd-MM-yyyy HH:mm:ss", outputDateFormate: "dd-MMM-yyyy hh:mm a")

// Fonction date

func convertDateFormater(date: String,inputDateFormate: String , outputDateFormate: String) -> String
{
    let dateFormatter = NSDateFormatter()
    //dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
    //dateFormatter.timeZone = NSTimeZone(name: "UTC")
    dateFormatter.dateFormat = inputDateFormate


    let date = dateFormatter.dateFromString(date)

    //dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm"
    //dateFormatter.timeZone = NSTimeZone(name: "UTC")
    dateFormatter.dateFormat = outputDateFormate
    var timeStamp = ""
    if (date != nil)
    {
        timeStamp = dateFormatter.stringFromDate(date!)
    }
    return timeStamp
}
1
Mitesh jadav