为了转换日期和时间,我使用了这个:
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)
如果课程日期" courseDate =" 2017-01-09 01:00:00 + 0000";" 但我在印刷中得到这样的结论: 1/09/2017,1:00 ,没有任何AM或PM。
我怎样才能做到这一点?
感谢。
答案 0 :(得分:12)
根据日期格式化程序规范
您可以使用24小时格式检索日期,而不是请求AM / PM HH而不是......
所以日期“21/11/2016 01:30”(下午)将是“21/11/2016 13:30”。
如果您确实需要打印格式,可以使用以下方式打印:
一
答案 1 :(得分:8)
根据Apple通用日期格式化程序,您应该在日期格式中使用“M / dd / yyyy,hh:mm a”。
喜欢: formatter.dateFormat = "M/dd/yyyy, hh:mm a"
希望这会对你有帮助!
答案 2 :(得分:1)
使用以下代码可能对您有所帮助
//调用函数
let dateTime = self.convertDateFormaterAamer(sendTimeStep, inputDateFormate: "dd-MM-yyyy HH:mm:ss", outputDateFormate: "dd-MMM-yyyy hh:mm a")
//日期函数
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
}