NSDateFormatter 'YYYY' 和 'yyyy' 的区别
来源:互联网 发布:sql语句学生信息 编辑:程序博客网 时间:2024/05/16 01:07
今天刷微博的时候看到这个:
立马就想到了BK项目今天feedback回来的bug,运行了大半年好好的都没有啥问题,今天突然间黑屏了,debug后才发现,NSDateFormatter 的时候时间变成2015年了,擦,今天还是2014年啊亲!所以导致create preform的时候出现了问题。
Google了之后才发现是在格式化的时候由YYYY导致引起的,改回yyyy就好了。具体区别:
做了个简单的测试,不但认证了上面的那个问,还发现了另外一个问题:
先看一下测试:
用[NSDate date]获取当前日期是正确的:2014-12-30 00:42:25 CST (看左边debug框),但打印出来的却是2014-12-29 16:42:25 +0000 足足相差了16 个小时(看右边的debug框),打印出来的好像是美国的时间。经过@“YYYY-MM-dd”格式化当前时间后发现的时间是2015-12-30,相差了一年,这一点确实认证了@"YYYY-MM-dd"是以周计算的。
如下图,2014年的时候是在周日28号的时候出现转换后多一年的情况28,29,30,31都会;2015年是在周日27号之后出现转换多一年的情况;2016年刚好周日是2017年的1号,也就是说以周转换计算的最后一天刚好是下一年的第一天,所以不会出现转换错误的现象;2017年的周日31号又出现了转换多一年的情况。。。。以此便可看出端倪来了,具体还是自己去想吧,只是有一点要特别注意:以后转换日期格式的时候记得还是用@“yyyy-MM-dd”这种格式吧,避免出现这种情况衍生的bug。
0 0
- NSDateFormatter 'YYYY' 和 'yyyy' 的区别
- NSDateFormatter 'YYYY' 和 'yyyy' 的区别
- NSDateFormatter的yyyy和YYYY到底什么区别
- iOS YYYY和yyyy的区别
- JAVA中的SimpleDateFormat yyyy和YYYY的区别
- NSDateFormatter的dateFormat必须yyyy-MM-dd
- iOS - 日期格式YYYY-MM-dd和yyyy-MM-dd的区别
- YYYY
- yyyy
- yyyy
- JAVA中日期 yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss的区别
- JAVA中日期 yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss的区别
- JAVA中日期 yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss的区别
- 日期格式yyyy-MM-dd和YYYY-MM-dd有什么区别?
- 日期格式yyyy-MM-dd和YYYY-MM-dd有什么区别?
- 80.iOS yyyy年份与YYYY的区别 NSDate 时间差一年 时间多出一年
- 日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的区别
- 日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的区别
- 设计模式--工厂方法模式【Factory Method Pattern】
- Effective C++——条款40(第6章)
- 浮躁的过去,开启的项目管理之路(二)
- 网易游戏2015 在线笔试题(2)
- Redis --- 排序SORT
- NSDateFormatter 'YYYY' 和 'yyyy' 的区别
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- linux下启动mysql以及设置远程访问
- 合并排序
- SSH Secure Shell Client中文乱码的解决方法
- samba服务器的安装
- 如何在 Ubuntu 15.04 系统中安装 Logwatch
- 构造函数中成员变量初始化顺序问题
- Swift中的NSKeyedArchiver使用