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则表示的是当天所在的年。所以以后再用到日期格式的时候,还是要注意一下这点的区别。
上一篇: WPF:Command传递两个元素