日期 / 时间格式化
文章来源:《Head First Java》修炼感悟。
本篇文章,老白把日期和时间的格式化参数进行了整理,方便以后查阅,更加详细的说明请参考 Java API 文档。
一、语法解释
%
,必要参数,用于引用参数列表中的原始数据;argument index$
,可选参数,一个十进制整数,用于表示参数列表中的参数位置。第一个参数由1$
引用,第二个参数由2$
引用,依此类推;flags
,可选参数,用于修改输出格式;width
,可选参数,一个非负十进制整数,表示要输出的最少字符数;type
,必要参数,表示要如何格式化。
老白提醒: 格式语法中的方括号 []
为可选参数,尖括号 <>
为必要参数。
二、日期格式化
%tB
,输出月份全称,例如:January 或一月(与语言环境有关)%tb
,输出月份简称,例如:Jan 或一月(与语言环境有关)%th
,等同%tb
;%tA
,输出星期全称,例如:Sunday 或星期日(与语言环境有关)%ta
,输出星期简称,例如:Sun 或星期日(与语言环境有关)%tC
,输出四位数年份除以 100 后的两位数,例如:2024 > 20%tY
,输出四位数年份,例如:2024%ty
,输出后两位数年份,例如:24%tj
,输出当前年份的第几天,例如:349%tm
,输出当前月份的两位数,例如:12%td
,输出当前月份的第几天(前导零),例如:01%te
,输出当前月份的第几天,例如:1
三、时间格式化
%tH
,输出当前小时数(24 小时制,有前导零),例如:16%tI
,输出当前小时数(12 小时制,有前导零),例如:04%tk
,输出当前小时数(24 小时制),例如:17%tl
,输出当前小时数(12 小时制),例如:5%tM
,输出当前小时的分钟数,例如:05%tS
,输出当前分钟的秒数,例如:27%tL
,输出当前秒的毫秒数,例如:747%tN
,输出当前毫秒的毫微秒数,例如:747000000%tp
,输出上、下午,例如:pm 或下午(与语言环境有关)%tz
,输出数字时区偏移量,例如:+0800%tZ
,输出时区缩写,例如:CST%ts
,自 1970 年 1 月 1 日 00:00:00 至现在所经过的秒数,例如:1734168137%tQ
,自 1970 年 1 月 1 日 00:00:00 至现在所经过的毫秒数,例如:1734168137780
四、日期/时间组合格式化
%tR
,输出%tH:%tM
格式的时间(24小时制),例如:17:26%tT
,输出%tH:%tM:%tS
格式的时间(24小时制),例如:17:26:03%tr
,输出%tI:%tM:%tS %Tp
格式的时间,例如:05:39:52 下午%tD
,输出%tm/%td/%ty
格式的日期,例如:12/14/24%tF
,输出%tY-%tm-%td
格式的日期,例如:2024-12-14%tc
,输出%ta %tb %td %tT %tZ %tY
格式的日期和时间,例如:星期六 十二月 14 17:46:16 CST 2024(与语言环境有关)
五、范例
import java.util.*;
public class TestFormats {
public static void main(String[] args) {
Date today = new Date();
String s = String.format("今天是%tY年%<tm月%<td日", today);
System.out.println(s);
}
}
《 上一篇 数字格式化 | 下一篇 时光机器 Calendar 》 |
---|