2017-07-26 5 views
0
var dateComponents: DateComponents = (Calendar.current as NSCalendar).components([NSCalendar.Unit.day, NSCalendar.Unit.month, NSCalendar.Unit.year, NSCalendar.Unit.hour, NSCalendar.Unit.minute, NSCalendar.Unit.second], from: dateToFix) 
dateComponents.hour = 11 
dateComponents.minute = 58 
dateComponents.second = 00 

let fixedDate: Date = Calendar.current.date(from: dateComponents)! 
print(fixedDate) 

let formatter = DateFormatter() 
formatter.dateStyle = DateFormatter.Style.long 
formatter.timeStyle = DateFormatter.Style.medium 
formatter.dateFormat = "yyyy-MM-dd h:mm a" 
let dateString = formatter.string(from: fixedDate) 
print(dateString) 

meine Ausgabe: 2017.07.26 11.58, aber ich will 2017.07.26 23.58Set AM oder PM Datum

Antwort

2

Änderung:

dateComponents.hour = 11 

An:

dateComponents.hour = 23 
+0

@torinopitchers, die funktionieren. danke für Ihren Vorschlag. –

0

Ändern Sie in der Tat die dateComponents.hour in einen 24-Stunden-Wert, da erwartet wird, dass Sie 1-24 Ziffern geben.

Dokumentation sagt:

enter image description here