Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
469 views
in Technique[技术] by (71.8m points)

swift - My app is crashing in different region due to date format

My app is crashing in different country. When I changed my system time zone, it showing nil. I got date time string from API. Firtly, I convert it in date then to string for date, Its not giving the correct date time after conversion.Kindly help me out My date string is - "6/30/2020 12:07:01 AM"

For string to date:-

static func stringToDate(dateString:String)->Date{
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM/dd/yyyy HH:mm:ss a"
    let date = dateFormatter.date(from:dateString)!
    return date
}

for date to string

 static func dateToString(date:Date)->String{
       let dateFormatter = DateFormatter()
       dateFormatter.dateFormat = "dd MMM yyyy HH:mm a"
       let dateString = dateFormatter.string(from: date)

       return dateString
   }

It is crashing in other region.

question from:https://stackoverflow.com/questions/65867945/my-app-is-crashing-in-different-region-due-to-date-format

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

instead of using let use if let ,

static func stringToDate(dateString:String)->Date?{
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM/dd/yyyy HH:mm:ss a"
    if let date = dateFormatter.date(from:dateString) {
    return date
  } else { 
    //code what to do if date format does not match
    return nil
 }
}


    static func dateToString(date:Date)->String{
       let dateFormatter = DateFormatter()
       dateFormatter.dateFormat = "dd MMM yyyy HH:mm a"
       if let dateString = dateFormatter.string(from: date)
       {
         return dateString
       } else {
       //code what to do if date format does not match
        return ""
      }
   }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...