如何将 dd/MM/YYYY 中的日期格式转换为 swift 中的 YYYY-MM-dd
How to convert date format from dd/MM/YYYY to YYYY-MM-dd in swift
我厌倦了从 21/07/2016 到 2016-07-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 及更高版本
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
let date = dateFormatter.date(from: date)
dateFormatter.dateFormat = "yyyy-MM-dd"
let resultString = dateFormatter.string(from: date!)
print(resultString)
您可以定义如下函数:
// 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
我厌倦了从 21/07/2016 到 2016-07-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 及更高版本
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
let date = dateFormatter.date(from: date)
dateFormatter.dateFormat = "yyyy-MM-dd"
let resultString = dateFormatter.string(from: date!)
print(resultString)
您可以定义如下函数:
// 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