Ios 如何在swift中将日期格式从年月日转换为年月日

Ios 如何在swift中将日期格式从年月日转换为年月日,ios,swift,nsdateformatter,Ios,Swift,Nsdateformatter,我很想从2016年7月21日改为2016年7月21日,但我得到了2015年12月20日的日期 这是我尝试过的代码 let inputFormatter = NSDateFormatter() inputFormatter.dateFormat = "MM/dd/YYYY" let outputFormatter = NSDateFormatter() outputFormatter.dateFormat = "YYYY-MM-dd" let showDate = inputFormatter

我很想从2016年7月21日改为2016年7月21日,但我得到了2015年12月20日的日期 这是我尝试过的代码

let inputFormatter = NSDateFormatter()
inputFormatter.dateFormat = "MM/dd/YYYY"

let outputFormatter = NSDateFormatter()
outputFormatter.dateFormat = "YYYY-MM-dd"

let showDate = inputFormatter.dateFromString("07/21/2016")
let resultString = outputFormatter.stringFromDate(showDate!)

print(resultString)
如何转换?

谢谢

首先用
yyyy
更改您的
year
格式化程序,而不是使用两个
NSDateFormatter
像这样使用一个

let inputFormatter = NSDateFormatter()
inputFormatter.dateFormat = "MM/dd/yyyy"
let showDate = inputFormatter.dateFromString("07/21/2016")
inputFormatter.dateFormat = "yyyy-MM-dd"
let resultString = inputFormatter.stringFromDate(showDate!)
print(resultString)
适用于swift3

func convertDateFormater(_ date: String) -> String
    {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss z"
        let date = dateFormatter.date(from: date)
        dateFormatter.dateFormat = "yyyy-MM-dd"
        return  dateFormatter.string(from: date!)

    }

您可以定义如下所示的函数:

// input string should always be in format "21/07/2016" ("dd/MM/yyyy")

func formattedDateFromString(dateString: String, withFormat format: String) -> String? {

    let inputFormatter = NSDateFormatter()
    inputFormatter.dateFormat = "dd/MM/yyyy"

    if let date = inputFormatter.dateFromString(dateString) {

      let outputFormatter = NSDateFormatter()
      outputFormatter.dateFormat = format

      return outputFormatter.stringFromDate(date)
    }

    return nil
}
您可以使用上述方法传递日期字符串的输出格式。输入格式将始终为dd/MM/yyyy。然后按如下方式使用它:

let stringA = formattedDateFromString("21/07/2016", withFormat: "yyyy-MM-dd")
let stringB = formattedDateFromString("21/07/2016", withFormat: "MMM dd, yyyy")

NSLog("stringA: \(stringA)") // 2016-07-21
NSLog("stringB: \(stringB)") // Jul 21, 2016

@Nirav D嘿,如果我想将日期选择器的日期转换为'yyyy-MM-dd',@deltami然后用DateFormatter设置该格式,然后在
字符串中传递日期选择器日期(from:)
DateFormatter方法你救了我一天,兄弟!