【老白学 Java】日期/时间格式化

日期/时间格式化

文章来源:《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(与语言环境有关)

五、范例

java 复制代码
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);
	}
}

《 上一篇 数字格式化
相关推荐
AI进化营-智能译站2 小时前
ROS2 C++开发系列17-多线程驱动多传感器|chrono高精度计时实现机器人同步控制
java·c++·ai·机器人
天若有情6735 小时前
程序员原创|借鉴JS事件冒泡,根治电脑文件混乱的“冒泡整理法”
开发语言·javascript·windows·ecmascript·电脑·办公·日常
qq_589568105 小时前
springbootweb案例,出现访问 http://localhost:8080/list 一直处于浏览器运转阶段
java·网络协议·http·list·springboot
JAVA面经实录9176 小时前
计算机基础(完整版·超详细可背诵)
java·linux·数据结构·算法
特种加菲猫6 小时前
继承,一场跨越时空的对话
开发语言·c++
AC赳赳老秦6 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
FYKJ_20107 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
玩转单片机与嵌入式7 小时前
玩转边缘AI(TInyML):需要掌握的C++知识汇总!
开发语言·c++·人工智能
茉莉玫瑰花茶7 小时前
Qt 信号与槽 [ 1 ]
开发语言·数据库·qt