对于某些值,dateFromString返回nil [英] dateFromString returns nil for some values

查看:111
本文介绍了对于某些值,dateFromString返回nil的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 swift dateFromString 获取 nil C $ C>。我搜索了很多但是徒劳无功。

I am getting nil for some values while using dateFromString in swift. I searched a lot but in vain.

以下是我的代码:

let strDate = self.sortedDict.valueForKey("TIME").objectAtIndex(indexPath.row).objectAtIndex(0) as? String
        print(strDate);

        let st_date = frmt.dateFromString(strDate!)

        let frmt1:NSDateFormatter = NSDateFormatter()
        frmt1.locale = NSLocale(localeIdentifier: localeStr)
        frmt1.dateFormat = "MMM, dd yyyy hh:mm a"
        if st_date != nil {
            print(st_date)
}

输出控制台:

    Optional("September, 20 2015 10:00:00")
Optional(2015-09-20 10:00:00 +0000)

Optional("October, 04 2015 10:00:00")
Optional(2015-10-04 10:00:00 +0000)

Optional("October, 04 2015 14:00:00") // nil
Optional("October, 18 2015 15:00:00") // nil
Optional("September, 20 2015 14:00:00") // nil

Optional("September, 27 2015 10:00:00")
Optional(2015-09-27 10:00:00 +0000)
Optional("September, 27 2015 12:00:00")
Optional(2015-09-27 00:00:00 +0000)
Optional("September, 27 2015 14:00:00")

Optional("October, 03 2015 14:00:00") //nil
Optional("October, 03 2015 16:00:00") //nil

所有日期字符串的格式都是相同的,但是我得到的值很少。为什么这样?请帮忙。我哪里出错了?

The format is same for all date strings still I get nil for few values. Why so? Please help. Where am I getting wrong?

推荐答案

格式应该是 HH 24小时,即使你获得价值只有12个小时。

format should be HH for 24 hours even you are getting values only for 12 hours.

frmt1.dateFormat = "MMM, dd yyyy HH:mm a"

这篇关于对于某些值,dateFromString返回nil的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆