java 中常见日期格式的设置(yyyyMMdd HHmmss)

日期格式解析:yyyy与YYYY的区别与应用
本文详细解释了yyyy和YYYY日期格式的区别,yyyy代表实际年份,而YYYY在某些情况下表示基于周的年份。通过示例展示了如何在Java中正确使用这两种格式,并揭示了HH、mm、dd等其他时间格式的含义。

1、yyyy与YYYY

public static void main(String[] args) {
    DateTime date = new DateTime(2019, 12, 31, 0, 0);
 
    SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
    System.out.println(format.format(date.toDate()));
 
    SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(format2.format(date.toDate()));
}

输出结果:

2020-12-31
2019-12-31

YYYY是week-based-year,表示当天所在的周属于的年份,一同从周日开始,周六结束,只要本周跨年那么这周就算入下一个年份中。所以2019年12月31日那天在这种转换方式下就是2020年。而当倩yyyy这种情况下年份就是2019。

2、MM与mm

这个比较好区分,MM:表示月份;mm:表示分钟

3、DD与dd

 Calendar calendar = Calendar.getInstance();
        // 2019-12-31
        calendar.set(2019, Calendar.DECEMBER, 31);
        Date strDate1 = calendar.getTime();
        // 2020-01-01
        calendar.set(2020, Calendar.JANUARY, 1);
        Date strDate2 = calendar.getTime();
        // 大写 YYYY
        SimpleDateFormat formatYYYY = new SimpleDateFormat("YYYY/MM/dd");
        System.out.println("2019-12-31 转 YYYY/MM/dd 格式: " + formatYYYY.format(strDate1));
//        System.out.println("2020-01-01 转 YYYY/MM/dd 格式: " + formatYYYY.format(strDate2));
//        // 小写 YYYY
        SimpleDateFormat formatyyyy = new SimpleDateFormat("yyyy/MM/DD");
        System.out.println("2019-12-31 转 yyyy/MM/dd 格式: " + formatyyyy.format(strDate1));
//        System.out.println("2020-01-01 转 yyyy/MM/dd 格式: " + formatyyyy.format(strDate2));

输出结果:2019-12-31 转 YYYY/MM/dd 格式: 2020/12/31
                  2019-12-31 转 yyyy/MM/dd 格式: 2019/12/365

DD格式是指当前日期在当年中的天数,今天正好是当年的最后一天,导致字符串多了一位,事实上我这里的本意是当月日期,应该改用dd格式。

4、HH与hh

输出结果:2019-12-31 转 YYYY/MM/dd 格式: 2020/12/31 154958
                  2019-12-31 转 YYYY/MM/dd 格式: 2020/12/31 034958

HH是24小时制,hh是12小时制

5、SS与ss

输出结果:2019-12-31 转 YYYY/MM/dd HHmmss 格式: 2020/12/31 155805
                  2019-12-31 转 YYYY/MM/dd HHmmSS格式: 2020/12/31 1558101

ss表示秒,SS输出的是毫秒

6、

String nowtime = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
System.out.println(nowtime);
yyyyMMddHHmmssSSS

输出结果:20211227155805103

注释:类似这样的格式,4位年2位月2位日2位时2位分2位秒3位毫秒

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值