欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS处理时间中的年份会加一的问题,yyyy与YYYY的区别

程序员文章站 2022-06-07 14:25:27
...

之前在一次年底,大概12月27日左右,app中显示的年比实际多了一年,比如2019-12-30显示成了2020-12-30。排查了一遍代码,没有发现什么问题,正常的时间戳转日期显示。

//阳历年底可能导致年份加一
 NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
 dateformatter.dateFormat = @"YYYY-MM-dd HH:mm";
 NSDate *inDate = [NSDate date];
 NSString *inDateString = [dateformatter stringFromDate:inDate];

//年份正常显示当前的年份
 NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
 dateformatter.dateFormat = @"yyyyy-MM-dd HH:mm";
 NSDate *inDate = [NSDate date];
 NSString *inDateString = [dateformatter stringFromDate:inDate];

后来尝试把YYYY改成yyyy,发现日期的显示正常了,感觉有点奇怪。之后查了下yyyy与YYYY的区别,才发现:YYYY指的是当前时间所在周的年份,也就是如果2019.12.30是2020年的第一周,则显示出来的时间就会变成2020年。yyyy则表示的是当天所在的年。所以以后再用到日期格式的时候,还是要注意一下这点的区别。

相关标签: ios