java list格式化_java 格式化输出

通配符

与 C 语言中的 printf 参数列表非常类似,java 格式化方法的 format 参数也是通过通配符的基本字符串表示的:java 格式化文本通配符通配符说明示例

%sString"java1.5"

%cchar'm'

%bbooleantrue

%dint(十进制)99

%xint(十六进制)FF

%oint(八进制)77

%ffloat(十进制)99.99

%afloat(十六进制)FF.35AE

%e指数类型9e+5

%g通用浮点类型(选取浮点表示法与指数表示法中较短的一种)

%h散列码

%%%%

%n换行符\n

%tx日期与时间Date 对象

下面展示了基本的用法:

package com.techlog.test.service;

import java.util.Formatter;

/**

* just for test

* Created by techlog on 2016/5/21.

*/

public class ForTest {

public static void main(String[] argv) {

Formatter formmater = new Formatter(System.out);

formmater.format("Hi, %s%n", "Lisa");

}

}

这里,我们使用了 System.out 作为参数创建 Formatter 对象,因此执行 format 方法后会自动输出到标准输出

如果我们使用默认构造器创建 Formatter 对象,不传递任何参数,则 format 方法会返回格式化后的 String(虽然无论用什么参数创建 Formatter 对象,format 方法都会返回格式化后的 String,但是通常我们使用 System.out 创建 Formatter 对象并不关心 format 方法的返回)

限定符

同时 java 还未格式化参数提供了限定符标志:java 格式化限定符标志说明示例结果

+为正数或者负数添加符号("%+d",15)+15

−左对齐("%-5d",15)|15   |

0数字前面补0("%04d", 99)0099

空格在整数之前添加指定数量的空格("% 4d", 99)|  99|

,以“,”对数字分组("%,f", 9999.99)9,999.990000

(使用括号包含负数("%(f", -99.99)(99.990000)

#如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0("%#x", 99), ("%#o", 99)0x63, 0143

$被格式化的参数索引("%1$d,%2$s", 99,"abc")99,abc

日期时间的格式化java 格式化日期时间限定符限定符说明示例

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

H2位数字24时制的小时(不足2位前面补0)15

I2位数字12时制的小时(不足2位前面补0)03

k2位数字24时制的小时(前面不补0)15

l2位数字12时制的小时(前面不补0)3

M2位数字的分钟(不足2位前面补0)03

S2位数字的秒(不足2位前面补0)09

L3位数字的毫秒(不足3位前面补0)015

N9位数字的毫秒数(不足9位前面补0)562000000

p小写字母的上午或下午标记中:下午,英:pm

z相对于GMT的RFC822时区的偏移量+0800

Z时区缩写字符串CST

package com.techlog.test.service;

import java.util.Date;

import java.util.Formatter;

/**

* just for test

* Created by techlog on 2016/5/21.

*/

public class ForTest {

public static void main(String[] argv) {

Date date=new Date();

Formatter formatter = new Formatter(System.out);

formatter.format("全部日期和时间信息:%tc%n", date);

formatter.format("月/日/年格式:%tD%n", date);

formatter.format("HH:MM:SS PM格式(12时制):%tr%n", date);

formatter.format("HH:MM:SS格式(24时制):%tT%n", date);

formatter.format("年-月-日格式:%tF%n", date);

formatter.format("2位数字24时制的小时(不足2位前面补0):%tH%n", date);

}

}

打印出了:

全部日期和时间信息:星期六 五月 21 22:10:55 CST 2016

月/日/年格式:05/21/16

HH:MM:SS PM格式(12时制):10:10:55 下午

HH:MM:SS格式(24时制):22:10:55

年-月-日格式:2016-05-21

2位数字24时制的小时(不足2位前面补0):11

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值