一、format()方法的两种重载方式:
1、 format(String format, Object... args);//使用本地语言环境生成新的字符串
2、format(Locale locale, String format, Object... args);//使用指定区域语言环境生成新的字符串
二、占位符(format):
完整占位符格式:%[index$][标识]*[最小宽度][.精度]转换符
% 占位符的起始字符,表示占位符从此开始。若要在占位符中使用%,则需要写成%%。
[index$] 位置索引从1开始计算,用于指定对索引相应的实参进行格式化并替换掉该占位符。暂不明
[标识] 用于增强格式化能力,可同时使用多个[标识] ,注意某些[标识] 是不能同时使用的。暂不明
[最小宽度] 用于设置格式化后的字符串最小长度,当格式化后的字符串实际长度小于[最小宽度] 时,默认在左边补空格,若使用[-最小宽度]则在右边补空格
[.精度] 对于浮点型数据格式化使用,设置保留的小数位数。
转换符 用于是的格式的样式和限制对于入参的数据类型
三、常用转换符
1、
转换符 | 说明 | 示例 |
%s | 字符串类型 | "abcd1234" |
%c | 字符类型 | 'a' |
%b | 布尔类型 | true |
%d | 整数类型(十进制) | 99 |
%x | 整数类型(十六进制) | FF |
%o | 整数类型(八进制) | 77 |
%f | 浮点类型 | 99.99 |
%a | 浮点类型(十六进制) | FF.35AE |
%e | 指数类型 | 9.38e+5 |
%g | 通用浮点类型(f和e类型中较短的) | |
%h | 散列码 | |
%% | 百分比类型 | |
%n | 换行符 | |
%tx | 日期与时间类型(x代表不同的日期与时间转换符) |
2、搭配转换符的标志
标志 | 说明 | 示例 | 结果 |
+ | 为正数或负数添加符号 | format("%+d",99) | +99 |
- | 左对齐 | format("%-5s","str") | |str | |
0 | 数字前补0 | format("%05d",99) | 00099 |
空格 | 在整数前添加指定数量空格 | format("% 5d",99) | | 99| |
, | 用,对数字进行格式化(三位一逗) | format("%,d",321321) | 321,321 |
( | 使用括号包含负数 | format("%(d",-99) | 99 |
# | 如果是浮点数,则包含小数点 如果是十六进制或八进制则添加0X或0 | format("%#x",99) format("%#o",99) | 0x63 0143 |
< | 格式化前一个转换符所描述的参数 | format("%f和%<3.2f",99.45) | 99.450000和99.45 |
$ | 被格式化的参数索引 | format("%1$d,%2$s", 99,"abc") | 99,abc |
3、日期和时间
3.1、常见日期和时间组合的格式
转换符 | 说明 | 示例 |
c | 包括全部日期和时间信息 | 星期六 十月 27 14:21:20 CST 2007 |
F | 年-月-日”格式 | 2007-10-27 |
D | “月/日/年”格式 | 10/27/07 |
r | “HH:MM:SS PM”格式(12时制) | 02:25:51 下午 |
T | HH:MM:SS”格式(24时制) | 14:28:16 |
R | “HH:MM”格式(24时制) | 14:28 |
3.2、 日期格式化转换符
转换符 | 说明 | 示例 |
b或者h | 月份简称 | 中:十月 英:Oct |
B | 月份全称 | 中:十月 英:October |
a | 星期的简称 | 中:星期六 英:Sat |
A | 星期的全称 | 中:星期六 英:Saturday |
C | 年的前两位数字(不足两位前面补0) | 20 |
y | 年的后两位数字(不足两位前面补0) | 07 |
Y | 4位数字的年份(不足4位前面补0) | 2007 |
j | 一年中的天数(即年的第几天) | 300 |
m | 两位数字的月份(不足两位前面补0) | 10 |
d | 两位数字的日(不足两位前面补0) | 27 |
e | 月份的日(前面不补0) | 5 |
3.3、 时间格式化转换符
转换符 | 说明 | 示例 |
H | 2位数字24时制的小时(不足2位前面补0) | 15 |
I | 2位数字12时制的小时(不足2位前面补0) | 03 |
k | 2位数字24时制的小时(前面不补0) | 15 |
l | 2位数字12时制的小时(前面不补0) | 3 |
M | 2位数字的分钟(不足2位前面补0) | 03 |
S | 2位数字的秒(不足2位前面补0) | 09 |
L | 3位数字的毫秒(不足3位前面补0) | 015 |
N | 9位数字的毫秒数(不足9位前面补0) | 562000000 |
p | 小写字母的上午或下午标记 | 中:下午 英:pm |
z | 相对于GMT的RFC822时区的偏移量 | +0800 |
Z | 时区缩写字符串 | CST |