Java日期格式

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

字母含义写法举例
yyyyy2022
YWeek Year,表示当天周所在的年份YYYY2022
MMM09
d一月中的天数dd31
D一年中天数DD365
h12小时制hh写法:yyyy => 2022
H24小时制写法: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日期格式的一些问题,虽然是很基础的问题,但是希望能帮助到大家,谢谢大家的阅读。