J'essaie simplement de transformer un objet Date lorsqu'un utilisateur a "24 heures" activé sur leur iPhone dans un objet de date "12 heures".Convertir 24 heures date objet en 12 heures date objet
J'ai essayé comme indiqué dans les discussions précédentes à ce sujet, mais je l'ai pas eu de chance:
objet initial de finalDate: Date 30/08/2017 22:00:00 UTC
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier:"en_US")
dateFormatter.dateFormat = "MM/dd/yyyy h:mm a"
let dateString = dateFormatter.string(from: finalDate)
let theFinalConvertedDate = dateFormatter.date(from: dateString)
ce que je finis avec:
theFinalConvertedDate Date? 2017-08-30 22:00:00 UTC
Je ne sais pas pourquoi cela se produit co nsidering que dateString imprime être:
"08/30/2017 5:00 PM"
Il ne convertit d'abord à la sortie attendue, mais finit par être theFinalConvertedDate date? 2017-08-30 22:00:00 UTC
Comme d'autres l'ont dit, aucune conversion 'Date' n'est nécessaire, car les objets' Date' n'ont pas le format "24 heures" contre "12 heures". C'est uniquement une question de comment vous voulez que la chaîne de sortie 'DateFormatter' soit formatée. Mais quel est le but de cette chaîne 'theFinalConvertedDate'? S'agit-il de la présentation dans l'interface utilisateur ou de l'envoi à un service Web ou à un stockage persistant local? La bonne réponse à cette question dépend de l'utilisation ultime de cette chaîne. – Rob