问题
我门的APP一般需要用户实名认证的,我们都会验证身份证号输入的正确性,然后我也对用户的年龄做了判定,条件是年龄要大于12岁,这些逻辑一直很正常,知道碰到了一个特殊用户,我称他为bug用户,这个bug用户的生日是19890416,而dateFromString
方法返回了nil
。那就很纳闷了 啊,其他的用户都没有问题啊,测试了半天,确定他的生日很特别啊。。。
解决方法
1989年4月16日是什么日子?是美国的夏令时!夏令时不知道是什么菜的,自行去百度吧,因为API默认是格林威治时间,所以你要设置世界时间。
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];