NSDateFormatter 获取格式为 'MMM dd, yyyy HH:mm a' 的日期 nil

NSDateFormatter getting date nil with format 'MMM dd, yyyy HH:mm a'

我有 let time = "Jun 08, 2015 11:27 PM",使用以下代码将其转换为 NSDate

    let formatter = NSDateFormatter()
    formatter.dateStyle = .MediumStyle
    formatter.timeStyle = .ShortStyle
    let date = formatter.dateFromString(time)

得到 date as nil,即使我尝试使用自定义格式化程序

    //MMM dd, yyyy HH:mm a
    //formatter.dateFromString("MMM dd, yyyy HH:mm a")

仍然无法正常工作,缺少什么?

let time = "Jun 08, 2015 11:27 PM"

    let formatter = NSDateFormatter()

    formatter.dateFormat = "MMM dd, yyyy HH:mm a"

    let date = formatter.dateFromString(time)

    formatter.dateStyle = .MediumStyle
    formatter.timeStyle = .ShortStyle

     let newString = formatter.stringFromDate(date!)

     NSLog("the newString %@", newString)

      let newDate = formatter.dateFromString(newString)

     NSLog("the date %@", newDate!)

输出是

newString 2015 年 6 月 8 日,12:27 下午

日期 2015-06-08 06:57:00 +0000

我已经在 Plyground 中测试了以下内容,它工作正常。

                            let time = "Jun 08, 2015 11:27 PM"

                            let formatter = NSDateFormatter()
                            formatter.dateFormat = "MMM dd, yyyy hh:mm a"
                            let date = formatter.dateFromString(time)

请尝试以下代码:

func dateformat() 
{
    let time = "Jun 08, 2015 11:27 PM"
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MMM dd, yyyy HH:mm a"
    dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC");
    let date = dateFormatter.dateFromString(time)
    println(NSDate.date())
}