字符串的日期转换没有发生

时间:2018-06-01 10:43:14

标签: swift nsdate nsdateformatter

我的order_date日期格式为May 31, 2018 at 3:35 PM

我将它转换为Date,就像这样......

if let order_date = value["order_date"] as? String {

let dateFormatter = DateFormatter()

dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"

let date = dateFormatter.date(from: order_date)

}

但是我的date为零。可能是什么问题..?

2 个答案:

答案 0 :(得分:0)

您的dateformat错误,将您的格式更改为

dateFormatter.dateFormat = "MMMM dd, yyyy 'at' hh:mm a"

例如,如果您将月份设为Mar,则使用 - MMM,如果您获得March,则使用 - MMMM

您可以在here

中查看日期格式

获得完整答案

 if let order_date = value["order_date"] as? String {

let dateFormatter = DateFormatter()
 dateFormatter.dateFormat = "MMMM dd, yyyy 'at' hh:mm a"
  var date = dateFormatter.date(from: order_date)
    if date == nil{
        dateFormatter.dateFormat =  "yyyy-MM-dd HH:mm:ss"
        date = dateFormatter.date(from: order_date)
    }
 dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
 let myStringafd = dateFormatter.string(from: date!)
 print(myStringafd)

}

有关详细日期转换,请获取here

答案 1 :(得分:0)

用以下内容替换您的代码:

if let order_date = value["order_date"] as? String
    {

        let dateFormatter = DateFormatter()

        dateFormatter.dateFormat = "MMM dd, yyyy 'at' hh:mm a"

        let date = dateFormatter.date(from: order_date)

    }