iOS DateFormatter转换时间戳部分手机crash问题

  • Post author:
  • Post category:其他


// 问题代码
func YYMMDDDateStringToTimestamp(YYMMDDDateString: String) ->  Int {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    let date = dateFormatter.date(from: YYMMDDDateString)?? 0 
    let timeStamp = Int(date.timeIntervalSince1970)
    return timeStamp
}

传入stirng:

看着没毛病,一般的机器上也都能通过,但测试偶尔有机器Crash在 .dateFormat = “yyyy-MM-dd HH:mm:ss”  这一行。Crash日子也看不出啥问题

一系列调试后发现问题。 把”yyyy-MM-dd HH:mm:ss” 改为 “yyyy-MM-dd HH:mm” 后就不会crash。秒可以单独处理,加到最后的tiemstamp 里就可以了

原因可能是传入 的精度太高了?

有比较清楚的欢迎一起探讨



版权声明:本文为zjh467545737原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。