zoukankan      html  css  js  c++  java
  • ‘YYYY’与‘yyyy’的区别(时间戳转换时间问题)

    今天客服就反馈了一个问题,时间出现了一个很诡异的问题:日期时间显示的是2020-12-30,现在应该是2019-12-30才对
    通过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: 毫秒

     常用日期结构:
    yyyy-MM-dd HH:mm:ss.SSS
    yyyy-MM-dd HH:mm:ss
    yyyy-MM-dd
    MM dd yyyy
  • 相关阅读:
    MySQL之存储过程和函数
    Mysql中的常用函数:
    Mysql之使用Mysql运算符
    Mysql之单表记录查询
    Mysql之触发器的操作:
    Mysql之视图的操作
    Mysql之表的操作与索引操作
    Mysql之基本操作与数据类型
    Java多线程之生产者消费者
    Java多线程
  • 原文地址:https://www.cnblogs.com/hq233/p/12120390.html
Copyright © 2011-2022 走看看