关于iOS设备选择12小时和24小时显示导致NSDateFormatter dateFromString 返回nil的问题

最近的项目在测试中发现了一个问题,我们的APP内有一个通过比较后台返回的时间来进行倒计时的功能,利用NSDateFormatter datefromString来计算倒计时的时间,起初并没有发现什么问题,但在手机设备设置显示时间制为12小时时,通过字符串获取的NSDate一直为nil。

在经过多次测试后,发现是NSDateFormatter设置的问题

我们原先的代码设置为[NSDateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

差别就在这个hh上,hh为12小时制,只要把hh改为24小时制的HH,在无论是设置12小时制或24小时制的设备中,都可以正常的获取到从字符串得到的日期信息了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先粘一下我的方法,很简单就是将服务器返回的时间字符串转换为date,问题是总有一部分给我返回nil +(NSDa...
    未来可期me阅读 4,507评论 4 3
  • 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大...
    真巧了_嘿阅读 2,835评论 0 7
  • 在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来...
    Rickie_Lambert阅读 1,451评论 0 0
  • 你 闭上嘴 快走开 千米以外 我心中的岩浆就要喷发出来 你 拿刀来 我指给你我心脏的位置 把窝藏的怒火当作霹雳 给...
    春衫凉阅读 250评论 29 12
  • 一大清早的听到院里有家长训斥自己的孩子:不好好学习你咋办?吃啥喝啥穿啥?还不学习!? 我相信家长用心是好的,但是这...
    默默Monica阅读 476评论 0 1