Date Formatting中"YYYY"与"yyyy"的区别

2020-12-27  本文已影响0人  过气的程序员DZ

1.先上结论


如果你项目中格式化日期中使用了YYYY,那么赶紧修改成yyyy吧!赶紧去,跑步前进,Go!Go!Go!

下面来讲解一下原因!

2.举个例子


//使用YYYY
let format = DateFormatter()
format.dateFormat = "YYYY.MM.dd"
var now = format.string(from: Date()) as String
print("YYYY:\(now)")
    
//使用yyyy
format.dateFormat = "yyyy.MM.dd"
now = format.string(from: Date()) as String
print("yyyy:\(now)")

你运行上面的代码的时候,可能不会有问题!!!但是我在写这篇文章的时候是2020年12月27日。看看我的运行结果

看到结果后有几个问题:

  1. 为什么使用YYYY会打印“2021”?也就是说“YYYY”和“yyyy”有什么区别?
  2. 为什么本人刚刚说:你运行上面代码的时候,可能不会有问题!!!?也就是说什么时候不一样呢?

2.1 解答:“YYYY”和“yyyy”区别

苹果开发者文档Data Formatting GuideUse Format Strings to Specify Custom Formats中有相关的解释

大概意思:

2.2 解答:什么情况下会不一样

这个我们就得了解一下什么是Week of Year,当前周所在的年份!

3.总结


所以说在大部分的情况下YYYYyyyy的值是一样的,只有在跨年的时候会出现问题。

项目中如果涉及到优惠券有效期展示而且使用了YYYY格式化年份,你就呵呵...

总结开篇的结论,如果要格式化输出日期中使用到,一定要使用yyyy这种方式!!!

上一篇 下一篇

猜你喜欢

热点阅读