NSDateFormatter 'YYYY' 和 'yyyy' 的区别
来源:互联网 发布:甘肃广电网络投诉电话 编辑:程序博客网 时间:2024/05/16 07:58
今天刷微博的时候看到这个:
立马就想到了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。
参考链接:
http://stackoverflow.com/questions/15133549/difference-between-yyyy-and-yyyy-in-nsdateformatter
http://realmacsoftware.com/blog/working-with-date-and-time
- 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}的区别
- ehchace
- Ubuntu下修改目录权限命令
- 第六章知识导图
- cocos2dx问题解决记录
- postfix最简单配置
- NSDateFormatter 'YYYY' 和 'yyyy' 的区别
- UVA 12563 Jin Ge Jin Qu hao(DP)
- C和C++宏定义详解
- 剑指offer 面试题43 n个骰子点数和的分布律
- 为什么那么喜欢c
- 矩阵快速幂(poj3070)、快速幂
- Mac下为Android项目添加Maven
- 时间规划
- 怎么加载包含文件