我试图在'dd-mm-yyyy'中显示日期。 swift3中的格式但它显示为nil,你可以查看下面的代码。

时间:2017-08-10 10:48:49

标签: json swift date

我从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)")

3 个答案:

答案 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)