如何快速获得月份和日期?

Tec*_*ain -5 date nsdateformatter ios swift swift3

我希望从29 NOVSwift 获取日期和日期.我试过下面的代码,但这对我不起作用.

 func getMonthfromDate(str_date:String)
  {
    let dateAsString = str_date
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd-MM-yyyy"
    let date = dateFormatter.date(from: dateAsString)
    dateFormatter.dateFormat = "dd-mm"
    print("date is \(dateFormatter.string(from: date!))")

  }


Input-"19-11-2016"
Output-19:00 
Run Code Online (Sandbox Code Playgroud)

请指导哪种方法正确?

Nir*_*v D 6

你的第二个合成是错的应该是dd-MM,mm在你的问题中,你已经告诉过你想要日期和月份,那样29 NOV你的合成应该是dd-MMM.

let dateAsString = str_date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
if let date = dateFormatter.date(from: dateAsString) {
    dateFormatter.dateFormat = "dd-MMM"
    print("date is \(dateFormatter.string(from: date))")
}
Run Code Online (Sandbox Code Playgroud)

注意:不要强制使用!它包装日期对象会使应用程序崩溃,如果它是nil使用可选包装if letguard.

检查其他日期格式器.