01 引言

在Java中我们经常使用日期进行转换,例如:

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {

    public static void main(String[] args) {
        Date currentDate = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
        System.out.println("current date -> " + simpleDateFormat.format(currentDate));
    }
}

运行结果:
在这里插入图片描述

注意了,我们有去深入理解过日期格式:yyyy-MM-dd HH:MM:ss吗?相信很多人都没有去深入了解过,本文来讲讲。

02 日期格式的含义

一般,以上是标准的24小时的日期格式(yyyy-MM-dd HH:MM:ss)我们都是复制过来的,其实它的大小写会严重影响运行结果,例如,把它全部改为小写,代码如下:

public class Test {

    public static void main(String[] args) {
        Date currentDate = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
        System.out.println("current date -> " + simpleDateFormat.format(currentDate));
    }
}

运行结果:
在这里插入图片描述
这就很神奇了,跟开头说的结果不一样了,为什么呢?

2.1 格式解析

常用格式yyyy-MM-dd HH:mm:ss

字母 含义 写法 举例
y yyyy 2022
Y Week Year,表示当天周所在的年份 YYYY 2022
M MM 09
d 一月中的天数 dd 31
D 一年中天数 DD 365
h 12小时制 hh 写法:yyyy => 2022
H 24小时制 写法:HH =>18 写法:yyyy => 2022
m 写法:mm =>07 写法:yyyy => 2022
s 写法:ss => 59 写法:yyyy => 2022
S 毫秒 写法:SSS=> 666 写法:yyyy => 2022

2.2 常用例子

java中的的日期格式为:

  • yyyy-MM-dd HH:mm:ss:代表将时间转换为24小时制,例: 2022-09-05 19:00:00
  • yyyy-MM-dd hh:mm:ss: 代表将时间转换为12小时制,例: 2022-09-05 07:00:00

注意这里和Oracle的日期格式还是有区别的,区别点在于Oracle不是以大小写作区分的,示例如下:

  • yyyy-MM-dd HH24:mi:ss:代表oracle中的24小时制,例:2022/9/5 19:00:00
  • yyyy-MM-dd HH:mi:ss: 代表oracle中的12小时制,例:2022/9/5 07:00:00

03 文末

本文主要讲的是Java日期格式的一些问题,虽然是很基础的问题,但是希望能帮助到大家,谢谢大家的阅读。

更多推荐