我从JSON服务中检索了日期,并尝试显示' 2017-07-18T00:00:00'进入' 18-07-2017'但我的下面的代码返回nil,你可以查看下面的代码。
let date1 = item["StartDate"] as? AnyObject //2017-07-18T00:00:00
let formatter = DateFormatter()
formatter.dateFormat = "dd.MM.yyyy"
let TestDateTime = formatter.date(from: date1)
print("zday:\(TestDateTime)")
答案 0 :(得分:0)
从Date
表示创建String
对象时,需要指定输入字符串的格式。创建Date
对象后,您可以使用其他日期格式生成所需格式的日期String
表示。
let date1 = item["StartDate"] as? String //2017-07-18T00:00:00
let formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy'T'hh:mm:ss"
let testDateTime = formatter.date(from: date1)
let outputFormatter = DateFormatter()
outputFormatter.dateFormat = "dd-MM-yyyy"
print("zday:\(outputFormatter.string(from: testDateTime)")
答案 1 :(得分:0)
试试此代码
func convertDateFormater(_ date: String) -> String
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy'T'hh:mm:ss"
let date = dateFormatter.date(from: date)
dateFormatter.dateFormat = "dd-MM-yyyy"
return dateFormatter.string(from: date!)
}
答案 2 :(得分:0)
正确的语法是
formatter.string(from: Date)
所以你的代码应该是:
let formatter = DateFormatter()
formatter.dateFormat = "dd.MM.yyyy"
let TestDateTime = formatter.string(from: date1)