swift NSDate AM和Pm格式

Sam*_*Sam 10 date nsdateformatter ios swift

要转换日期和时间,我使用了这个:

 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)
Run Code Online (Sandbox Code Playgroud)

如果课程日期为"courseDate ="2017-01-09 01:00:00 +0000";" 但我打印出来的情况如下: 2017年1月1日,1点没有任何上午或下午.

我怎样才能做到这一点?

谢谢.

Cpt*_*ric 12

根据日期格式化程序规范

您可以使用HH而不是hh来检索24h格式的日期,而不是请求AM/PM

所以日期"21/11/2016 01:30"(下午)将是"21/11/2016 13:30".

但是,如果您确实需要打印格式,可以使用以下方式打印:

一个

更多日期在这里提供详细信息


Shi*_*Gor 8

根据Apple通用日期格式化程序,您应该在日期格式中使用"M/dd/yyyy,hh:mm a".

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

希望对你有帮助!