参考文章: http://www.cnblogs.com/fsjohnhuang/p/4094777.html
http://blog.csdn.net/lonely_fireworks/article/details/7962171/
使用:
%s 默认一个接着一个,%2$s表示取用第二个参数。
字符串占位输出:
String.format("%2$s,This %1$s!","world", "hello"); --hello,This world!
String.format("%s,This %s!","hello","world"); --hello,This world!
补符号 0 操作
String.format("%1$09d", 123); ---000000123
说明:
-----------------------------------------------------------------------------------------------------------------------------------------
String的format调用的是java.util.Formatter.format(String, Object...)方法。从jdk1.5开始引入。
两个方法:
format(String format, Object... args) 新字符串使用本地语言环境
format(Locale locale, String format, Object... args) 使用指定的语言环境
java格式化使用Formater:
转换符说明:
%s | 字符类型 |
%d | 整数类型 |
%f | 浮点类型 |
%tx | 日期类型(x代表不同日期时间符) |
%c | 字符类型 |
%b | 布尔类型 |
%% | 百分比类型 |
%n | 换行符 |
%x | 整数十六进制 |
%o | 整数八进制 |
%h | 散列码 |
%g | 通用浮点类型(f和e类型中较短的) |
%e | 指数 |
%a | 十六进制浮点类型 |
占位符:
占位符完整格式为: %[index$][标识][最小宽度][.精度]转换符
标识符说明:
+ | 为正数或者负数添加符号 |
− | 左对齐 |
0 | 数字前面补0 |
空格 | 在整数之前添加指定数量的空格 |
, | 以“,”对数字分组 |
( | 使用括号包含负数 |
# | 如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0 |
< | 格式化前一个转换符所描述的参数,将前一个结果再次处理 |
$ | 被格式化的参数索引 |
日期格式化参数说明:%tx 将x替换为以下的标识符
c | 包括全部日期和时间信息 |
F | “年-月-日”格式 |
D | “月/日/年”格式 |
r | “HH:MM:SS PM”格式(12时制) |
T | “HH:MM:SS”格式(24时制) |
R | “HH:MM”格式(24时制) |
b/B | 月份简称/全称 |
a/A | 星期简称/全称 |
C | 年前两位(不足补零) |
y | 年后两位(不足补零) |
j | 一年的天数 |
m | 月份(不足补零) |
d/e | 日(补零/不补零) |
H/k | 24小时制的小时(补零/不补零) |
I/i | 12小时制的小时(补零/不补零) |
M | 2位数字的分钟不足补零 |
S | 两位数字的秒不足补零 |
L | 3位数字的毫秒(不足3位前面补0) |
N | 9位数字的毫秒数(不足9位前面补0) |
p | 小写字母的上午或下午标记 |
z | 相对于GMT的RFC822时区的偏移量 +0800 |
Z | 时区缩写字符串 |
s | 1970-1-1 00:00:00 到现在所经过的秒数 |
Q | 1970-1-1 00:00:00 到现在所经过的毫秒数 |