String.format()用法

1 占位符

1.1 单个占位符

String s = String.format("Hello %s,Welcome to my blog!", "jerry");
System.out.println(s);//Hello jerry,Welcome to my blog!

1.2 多个占位符

1.2.1 按顺序
String s = String.format("Hello %s%s%s", "jerry-", "li", ",welcome!");
1.2.2 按索引
String s = String.format("Hello %2$s%3$s%1$s", "li-", "heng-", "jie");

2 对整数格式化

int n2 = 9999999;
System.out.printf("%+(,d %n", n2);
参数含义
-在最小宽度内左对齐,不可以与0标识一起使用。
0若内容长度不足最小宽度
+结果总包含一个+或-号。
空格正数前加空格
,只用与十进制
(若结果为负数

3 对浮点数格式化

double n = 3.1415926;
String s = String.format("%f %n", num);
参数含义
-在最小宽度内左对齐
0若内容长度不足最小宽度
+结果总包含一个+或-号。
空格正数前加空格
,只用与十进制
(若结果为负数

4 对日期、时间格式化

对日期格式化的时候不能像对数字那样多种格式对应一个数字,
分为日期格式化及时间格式化两部分,如果希望格式化之后的格式是:
2017-01-13 12:05:30,需要先格式化日期,然后再格式化时间。
如下:

Date date = new Date();
String dateFormat = String.format("%tF %tT ", date, date);
System.out.println(dateFormat);

日期格式化:

参数含义
c星期六 十月 27 14:21:20 CST 2007
F2007-10-27
D10/27/07
r02:25:51 下午
T14:28:16
R14:28
b月份简称
B月份全称
a星期简称
A星期全称
C年前两位(不足两位补零)
y年后两位(不足两位补零)
j当年的第几天
m月份(不足两位补零)
d日期(不足两位补零)
e日期(不足两位不补零

时间格式化:

参数含义
H24小时制的小时(不足两位补零)
k24小时制的小时(不足两位不补零)
I12小时制的小时(不足两位补零)
i12小时制的小时(不足两位不补零)
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起经过的豪秒

备注:(System.out.printf()==System.out.print(String.format())

  • 18
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值