-
format(String format, Object … args)
格式化后的新字符串使用本地默认的语言环境。
-
format(Local l, String format, Pbject … args)
日期、金钱等格式化标识在不同国家地区有不同的表达方式
l为格式化过程中要应用的语言环境。如果l为null,则不进行本地化。
既然是拼接,格式化字符串就要有占位符(%x),默认情况下,占位符和后面的变量是对应的。如果需要给占位符指定变量,在占位符中间添加
变量索引$
(%2$x)
注意索引从1开始
‘-’ 在最小宽度内左对齐,不可以与"用0填充"同时使用
‘#’ 只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x
‘+’ 结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
’ ’ 正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
‘0’ 结果将用零来填充
‘,’ 只适用于10进制,每3位数字之间用","分隔
‘(’ 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同’+'具有同样的限制)
比如
%1$02d
%是占位符标识,d是类型,中间的1$是参数位置,2是长度,0是长度不足时要在左边补,其中长度补足符+长度只有类型为d时才有意义
常用
%1$tY%1$tm%1$td
,
%1$tT
转换符
|
说明
|
example
|
c
|
星期六 十月 27 14:21:20 CST 2007
|
|
F
|
2007-10-27
|
|
D
|
10/27/07
|
|
r
|
02:25:51 下午
|
|
T
|
14:28:16
|
|
R
|
14:28
|
|
b
|
月份简称
|
|
B
|
月份全称
|
|
a
|
星期简称
|
|
A
|
星期全称
|
|
C
|
年前两位(不足两位补零)
|
|
y
|
年后两位(不足两位补零)
|
|
j
|
当年的第几天
|
|
m
|
月份(不足两位补零)
|
|
d
|
日期(不足两位补零)
|
|
e
|
日期(不足两位不补零)
|
|
H
|
24小时制的小时(不足两位补零)
|
|
k
|
24小时制的小时(不足两位不补零)
|
|
I
|
12小时制的小时(不足两位补零)
|
|
i
|
12小时制的小时(不足两位不补零)
|
|
M
|
分钟(不足两位补零)
|
|
S
|
秒(不足两位补零)
|
|
L
|
毫秒(不足三位补零)
|
|
N
|
毫秒(不足9位补零)
|
|
p
|
小写字母的上午或下午标记,如中文为“下午”,英文为pm
|
|
z
|
相对于GMT的时区偏移量,如+0800
|
|
Z
|
时区缩写,如CST
|
|
s
|
自1970-1-1 00:00:00起经过的秒数
|
|
Q
|
自1970-1-1 00:00:00起经过的豪秒
|
|
@Test
public void contextLoads() {
LocalDateTime localDateTime = LocalDateTime.now();
Date date = new Date();
进行String.format日期转换时,被转换的必须是日期对象
官方没有提供YYYY-mm-DD HH:MM:SS 这种最常用的格式,又没有自定义格式化字符串的方法
所以只能设置多个转换符,==》就要对应设置几个格式化字符串
即使如此,这种方式也是目前发现的最优雅的
System.out.println(String.format("%1$tF %1$tT", localDateTime));
System.out.println(String.format("%1$tY%1$tm%1$td", localDateTime));
2022-07-29 11:15:52
20220729
println("%1$s$$%2$s".format("1", "name"))
println(f"2018$partIdx%02d")
args1要使用方法包装,不然报错overloaded method value format with alternatives: (x$1: java.util.Locale,x$2: String,x$3: Object*
https://blog.csdn.net/eases_stone/article/details/97814271
println(String.format("%1$02d",Int.box(1)))
println(Double.box(a).formatted("%.2f") + " , " + Double.box(b).formatted("%.2f"))
一、src1.作用:以特殊的格式化字符串来给指定字符串或日期对象转换格式2.两个重载:format(String format, Object … args) 格式化后的新字符串使用本地默认的语言环境。format(Local l, String format, Pbject … args)日期、金钱等格式化标识在不同国家地区有不同的表达方式l为格式化过程中要应用的语言环境。如果l............