【iOS】小心 yyyy-MM-dd和YYYY-MM-dd的区别

今天测试跟我说我们这边日期计算有点不对,明明系统是2019年的,莫名其妙变成了2020年。
用的是
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"YYYY-MM-dd"];
NSString * dateStr = [formatter stringFromDate:date];
dateStr 变成了2020年12月30日

查询谷歌才发现,原来yyyy 和 YYYY是有区别的
YYYY 是按照周来计算时间,今天是12月30号周一,其实从29日就算开始就是进入了2020年了,
这个时间计算方式是,一年当中的时间,不足一周的(年末那一周),就要计算到下一年中去

yyyy 是按照天来计算的,就是我们一般中国人认为的年份。一般国内很少会说这是几年第几周的。
所以平常开发中还是用小的yyyy来得更合适点

蛋疼的是,用到现在这个bug到今天才被发现,欧买噶,然后哪怕现在修复,上线差不多就是2020年了,这个bug完美错过了可以重现的场景,成为了“不可修复”的bug. 掩面.....

你可能感兴趣的:(【iOS】小心 yyyy-MM-dd和YYYY-MM-dd的区别)