Swift中的字符串日期到日期

问题描述 投票:0回答:1

我正在使用一个后台,返回一个日期字符串,如 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."

谁能帮我解决这个问题?

swift date nsdateformatter simpledateformat date-formatting
1个回答
2
投票

你可以使用这个函数

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)
      }
© www.soinside.com 2019 - 2024. All rights reserved.