NSDateFormatter显示错误的一年
即时通讯使用Xcode 4.5(4G182)与iOS 6. NSDateFormatter在iOS 6显示错误的一年,如何解决?
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@"YYYY-MM-dd"]; NSString *str = [dateFormatter stringFromDate:[NSDate date]]; NSLog(@"%@ == %@",str,[[dateFormatter dateFromString:str] description]);
打印出“2012-09-14 == 2011-09-13 16:00:00 +0000”
YYYY
不一样。
根据IOSdate格式页面引用的这个页面 ;
`y`: Year `Y`: Year (in "Week of Year" based calendars). This year designation is used in ISO year-week calendar as defined by ISO 8601, but can be used in non-Gregorian based calendar systems where week date processing is desired. May not always be the same value as calendar year.
执行句是最后一个。 改用yyyy
。
使用YYYY
时,如何以及为什么年份值可能偏离的更多详细信息:
ISO周编号的年份从第01周的第一天(星期一)开始,到新ISO年的周日结束(因此没有重叠或差距)。 它由52 周或53 周组成 。 ISO星期编号年份数字与传统公历年的数字有所不同,例如星期五,星期六和星期天,或者在星期六和星期日,或者仅仅是星期天,在传统的公历年(在以前的ISO周编号年结束)和星期一,星期二和星期三,或者星期一和星期二,或者星期一,在传统的公历年(在下一个ISO星期的第01周末 – 年)。 对于星期四,ISO周编号的年份数字总是等于传统的公历年数字。
例子:
2008年12 月 29日星期一写下“ 2009 -W01-1”
2010年 1 月 3日星期日写成“ 2009 -W53-7”
从https://en.wikipedia.org/wiki/ISO_8601#Week_dates (添加了粗体样式)
- 为什么NSDateFormatter返回这4个时区的无date?
- 如何强制iOS 6中的UIViewController纵向
- iOS Autolayout – 如何在视图之间设置两个不同的距离取决于屏幕高度
- 在UICollectionView上dynamic设置布局会导致无法解释的contentOffset更改
- 与iOS 6.0原生Facebook整合共享:“通过我的应用程序名称发布”?
- MapKit在iOS 6中使用Apple Maps的滚动性能较差
- 重新sortingUICollectionView的单元格
- iOS 6中完成块的dispatch_get_current_queue()的替代方法?
- UICollectionView像Springboard一样的文件夹