Swift 中的字符串日期

String Date to Date in Swift

我正在使用一个后端 returns 给我一个像 2020-05-05 10:19:25.357479+05:30 这样的日期字符串。如何将其转换为 swift 中的 Date 对象?根据后端,他们使用的日期格式是 YYYY-MM-DD HH:mm:ss.SSSSSS+|-hh:mm。但是,当我尝试在 DateFormatter 中使用此字符串时,我收到一条错误消息 - "Date string does not match format expected by formatter."

有人可以帮我解决这个问题吗?

你可以使用这个功能

func dateFromString(_ dateString:String,  format: String = "yyyy-MM-dd HH:mm:ss.SSSSSSZ") -> String? {
    let dateFormatter = DateFormatter()
    let tempLocale = dateFormatter.locale  // save locale temporarily
    dateFormatter.locale = Locale(identifier: "en_US_POSIX")
    dateFormatter.dateFormat =  format//"yyyy-MM-dd HH:mm:ss.SSSSSS"
    let date = dateFormatter.date(from: dateString)
    dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
    dateFormatter.locale = tempLocale // reset the locale

    guard let getdate = date else {
      return nil
    }

    let dateString = dateFormatter.string(from: getdate)
    return dateString
  }

如何使用

if let dateString = dateFromString("2020-05-05 10:19:25.357479+05:30") {

        print (dateString)
      }