Datepicker choisit la mauvaise date

Je convertis la date en jour, mais si j'imprime simplement println () la date actuellement sélectionnée dans la datepicker, je me trompe d'heure et de date.

@IBOutlet weak var datepicker: UIDatePicker! @IBAction func displayDay(sender: AnyObject) { var chosenDate = self.datepicker.date println(chosenDate) 

J'ai suivi la date sélectionnée. entrez la description de l'image ici

Et click le button sous datepicker. Je reçois la ligne suivante dans la sortie

  2015-01-11 20:17:37 +0000 

Quelqu'un peut-il me dire ce qui ne va pas avec la production?

C'est très bien car le sélecteur de date utilise son heure locale mais il stocke l'heure UTC. Cela signifie que votre décalage horaire est de -5h. Vous pouvez faire comme suit pour en extraire la bonne date et heure:

 extension NSDate { var localizedDescription: Ssortingng { return descriptionWithLocale(NSLocale.currentLocale()) ?? "" } } println(chosenDate.localizedDescription) 

Swift 3 ou plus tard

 extension Date { var localizedDescription: Ssortingng { return description(with: .current) } } 

 Date().localizedDescription // "Monday, October 16, 2017 at 2:24:11 AM Brasilia Summer Time" 

Swift 3.0 – Si vous voulez get un résultat au format date, utilisez le code suivant.

 extension Date { var convertedDate:Date { let dateFormatter = DateFormatter(); let dateFormat = "dd MMM yyyy"; dateFormatter.dateFormat = dateFormat; let formattedDate = dateFormatter.ssortingng(from: self); dateFormatter.locale = NSLocale.current; dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00"); dateFormatter.dateFormat = dateFormat as Ssortingng; let sourceDate = dateFormatter.date(from: formattedDate as Ssortingng); return sourceDate!; } } print(pickerView.date.convertedDate)