无法以字符串格式获取日期

时间:2018-04-03 06:15:16

标签: ios swift nsdate

我以Date格式在coredata中存储一些日期。在另一个viewcontroller中,我想检索这些日期并将它们转换为字符串。我试图像这样实现它......

if let bday = result.birthday {

print(bday)
let formatter = DateFormatter()
let bDateString = formatter.string(from: bday as Date)
print(bDateString)
self.birthdate = bDateString

}

此处,打印bday会给出正确的日期。但转换为字符串后打印bDateString给出为零。我究竟做错了什么...?

2 个答案:

答案 0 :(得分:2)

请提供如下日期格式:

formatter.dateFormat = "MM-dd-yyyy" //provide your date format here

答案 1 :(得分:1)

问题是您没有提供日期格式。

即使您可以使用此扩展程序

extension Date {    static func getFormattedDate(string: String) -> String{
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss +zzzz" // This formate is input formated .

        let formateDate = dateFormatter.date(from:"2018-02-02 06:50:16 +0000")!
        dateFormatter.dateFormat = "dd-MM-yyyy" // Output Formated

        print ("Print :\(dateFormatter.string(from: formateDate))")//Print :02-02-2018
        return dateFormatter.string(from: formateDate)
    } }