与众不同的与众不同的 Java 日期格式化大全日期格式化大全
主要介绍了与众不同的 Java 日期格式化大全,在 Java 中,经常要将时间字符串转换为日期,或者要将日期转
换为时间字符串。,需要的朋友可以参考下
前言前言
在 Java 中,经常要将时间字符串转换为日期,或者要将日期转换为时间字符串。这种操作一般都是用
java.text.SimpleDateFormat 类处理。例如要将日期转换为时间字符串,那么就用下面的代码。
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
得到的结果是
2018-11-25 17:57:40
其中 "yyyy-MM-dd HH:mm:ss" 这部分叫做时间模式,是由一些固定的字符组合来指定的。java.text.SimpleDateFormat 可以
根据这个模式调用 format 方法把时间对象格式化为符合模式的字符串,也可以根据这个模式调用 parse 来把一个符合模式的
字符串解析为时间对象。但是一直以来,这个用法都不太系统,所以对他的用法总结一下,希望对大家有帮助。
java.text.SimpleDateFormat 模式字符串模式字符串
下表是 支持的时间模式的字符串
字符字符 含义含义
G 年代标志符
y 年
M 月
d 日
h 时在上午或下午(1~12)
H 时在一天中(0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午/下午标记符
k 时在一天中(1~24)
K 时在上午或下午(0~11)
z 时区
给出一个较完整的例子如下
System.out.println(
new SimpleDateFormat("G y-M-d Z E H:m:s:S a").format(new Date())
);
输出结果为
公元 2018-11-26 +0800 星期一 18:3:42:236 下午
其中“公元”是年代,“ 2018-11-26”是格式化的年月日,“+0800” 是当前时区设置,“星期一”是星期,“17:32:11:099”是带毫秒的
时间,“下午”是上下午标志。
java.text.SimpleDateFormat 模式扩展用法模式扩展用法
上一章节的表格显示的是 java.text.SimpleDateFormat 模式的最基础的字符模式。这些模式实际上是可以有扩展的使用方法
的。
字符字符 含义含义
MM 二位数字显示月份。位数不够前面补 0
MMM 用月份名称简写显示月份,例如 Nov