ios开发出现fatal error: unexpectedly found nil while unwrapping an Optional value

今天在进行真机测试时候出现

fatal error: unexpectedly found nil while unwrapping an Optional value 错误


由于在模拟器上进行测试时候并没有问题,但在真机上出现崩溃错误,调试后发现是由于未设置时间的时区导致,希望能引起注意

代码如下(此方法是用来将参数中的时间与当前时间比较并返回相应的字符串(在微博中的发布时间中可以用到)):

 func getCreateAt(date: String) ->String{

        

       let formatter = NSDateFormatter()

        //!!!!!必须设置时区

       

       formatter.locale = NSLocale(localeIdentifier: "cn")

        //Z 时区

       formatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"

       

       //进行转换

       let time = formatter.dateFromString(date)

    

       let canlader = NSCalendar.currentCalendar()

       //设置获取的

       let unit = NSCalendarUnit(arrayLiteral: .Year,.Month,.Day,.Hour,.Minute)

       //比较时间

       let comps = canlader.components(unit, fromDate: time!, toDate: NSDate(), options: [])

       

        if comps.year == 0{//是本年

            

            if comps.month == 0{//是本月

                if comps.day == 0{//是今天

                    

                    if comps.hour == 0{//1小时之内

                        if comps.minute == 0{//刚刚

                            return "刚刚"

                        }else{//xx分钟之前

                           return "\(comps.minute)分钟前"

                        }

                    }else{

                        return "\(comps.hour)小时前"

                    }

                }else if comps.day == 1{// 是昨天

                    formatter.dateFormat = "HH:mm"

                    let str = formatter.stringFromDate(time!)

                    return"昨天 \(str)"

                    

                }else{

                    formatter.dateFormat = "MM-DD HH:mm"

                    let str = formatter.stringFromDate(time!)

                    return "\(str)"

                }

            }else {//不是本月

                formatter.dateFormat = "MM-DD HH:mm"

                let str = formatter.stringFromDate(time!)

                return "\(str)"

            }

            

        }else {//不是今年

            formatter.dateFormat = "YY-MM-DD HH:mm"

            let str = formatter.stringFromDate(time!)

            return "\(str)"

        }

       

        return ""

    }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值