时间戳转换

2020-12-29  本文已影响0人  以前十八

日期时间显示的是2020-12-29,现在应该是2019-12-29才对

通过debug发现,服务端传的时间是没问题的,那就只能是前台时间戳转换的问题了。

对比发现设置formatter的格式是使用的是‘YYYY-MM-dd HH:mm:ss’,在year转换时,用的是‘YYYY’,官方文档用的‘yyyy’,然后我就将大写改为小写试了一下,然后问题就解决了。

也就是说问题在year转换时出的问题,Google了一下,确实有这方面的问题,解释是这么说的:

YYYY是以周来计算年的,意思是当天所在周属于的年份,一周从周日开始算计算,周六结束,只要本周跨年,那么这一周就算下一年的。

也就是说:年份如果用Y会是这周的年份,y才是标准的年份。

这一点官方文档没说明,所以还是自己注意点吧,以后转换日期格式的时候记得还是用“yyyy-MM-dd”这种格式吧,避免出现这种情况衍生的bug。

使用DateFormatter转换时间格式,需要的参数如下:

G: 公元时代,例如AD公元

yy: 年的后2位

yyyy: 完整年

MM: 月,显示为1-12

MMM: 月,显示为英文月份简写,如 Jan

MMMM: 月,显示为英文月份全称,如 Janualy

dd: 日,2位数表示,如02

d: 日,1-2位显示,如 2

EEE: 简写星期几,如Sun

EEEE: 全写星期几,如Sunday

aa: 上下午,AM/PM

H: 时,24小时制,0-23

K:时,12小时制,0-11

m: 分,1-2位

mm: 分,2位

s: 秒,1-2位

ss: 秒,2位

S: 毫秒

上一篇下一篇

猜你喜欢

热点阅读