`
wujianjun
  • 浏览: 144474 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java.lang.String.format之使用

阅读更多
/**
 * 1、String.format(String fmt,Object... objs)
 * 	fmt: 格式成什么样的格式
 * 	objs:需要格式化的目录对象支持数值、字符串、日期
 * 注意:jdk1.5及其以上版本才有此方法。
 * 
 * 2、fmt的编写方式
 * 	①:常规、整数、浮点类型
 * 		%开始+引用的objs第几个值$(非必选)+0(不足位按0填充,非必选)+产生位数(如果格式化为浮点数则为“总位数.小数位数”,非必选)+类型修饰符
 * 		如:%1$3d、%1$04d、%2$5.2f
 * 	②:时间类型
 * 		%开始+引用的objs第几个值$(非必选)+时间前缀(t/T)+类型修饰符
 * 		如:%1$tY、%1$tm、%1$td、%1$tH、%1$tM、%1$tS
 * 注意:如果不写第二部分(引用的objs第几个值$), 则默认按使用%开始的数量依次增加一(建议写上)。
 * 
 * 3、类型修饰符(摘自jdk)
 * 	   转换  	参数类别 			 说明  
 *	--------|----------|-----------------------------------
 * 	'b', 'B'  常规  	如果参数 arg 为 null,则结果为 "false"。如果 arg 是一个 boolean 值或 Boolean,则结果为 String.valueOf() 返回的字符串。否则结果为 "true"。  
 * 	'h', 'H'  常规  	如果参数 arg 为 null,则结果为 "null"。否则,结果为调用 Integer.toHexString(arg.hashCode()) 得到的结果。  
 * 	's', 'S'  常规  	如果参数 arg 为 null,则结果为 "null"。如果 arg 实现 Formattable,则调用 arg.formatTo。否则,结果为调用 arg.toString() 得到的结果。  
 * 	'c', 'C'  字符  	结果是一个 Unicode 字符  
 * 	'd'       整数 	结果被格式化为十进制整数  
 * 	'o'       整数  	结果被格式化为八进制整数  
 * 	'x', 'X'  整数 	 结果被格式化为十六进制整数  
 * 	'e', 'E'  浮点 	 结果被格式化为用计算机科学记数法表示的十进制数  
 * 	'f'        浮点 	 结果被格式化为十进制数  
 * 	'g', 'G'  浮点  	根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。  
 * 	'a', 'A'  浮点  	结果被格式化为带有效位数和指数的十六进制浮点数  
 * 	't', 'T'  日期/时间   	日期和时间转换字符的前缀。请参阅日期/时间转换。  
 * 	'%'     百分比  	结果为字面值 '%' ('\u0025')  
 * 	'n'      行分隔符  	结果为特定于平台的行分隔符  
 * 
 * 4、时间类型修饰符(摘自jdk)
 * 修饰符	|	说明
 * ---------|-------------------------------------
 * 'H'  	|	24 小时制的小时,被格式化为必要时带前导零的两位数,即 00 - 23。  
 * 'I'  	|	12 小时制的小时,被格式化为必要时带前导零的两位数,即 01 - 12。  
 * 'k'  	|	24 小时制的小时,即 0 - 23。  
 * 'l'  	|	12 小时制的小时,即 1 - 12。  
 * 'M'  	|	小时中的分钟,被格式化为必要时带前导零的两位数,即 00 - 59。  
 * 'S'  	|	分钟中的秒,被格式化为必要时带前导零的两位数,即 00 - 60 ("60" 是支持闰秒所需的一个特殊值)。  
 * 'L'  	|	 秒中的毫秒,被格式化为必要时带前导零的三位数,即 000 - 999。  
 * 'N'  	|	 秒中的毫微秒,被格式化为必要时带前导零的九位数,即 000000000 - 999999999。  
 * 'p'  	|	 特定于语言环境的 上午或下午 标记以小写形式表示,例如 "am" 或 "pm"。使用转换前缀 'T' 可以强行将此输出转换为大写形式。  
 * 'z'  	|	 相对于 GMT 的 RFC 822 格式的数字时区偏移量,例如 -0800。  
 * 'Z'  	|	 表示时区缩写形式的字符串。Formatter 的语言环境将取代参数的语言环境(如果有)。  
 * 's'  	|	 自协调世界时 (UTC) 1970 年 1 月 1 日 00:00:00 至现在所经过的秒数,即 Long.MIN_VALUE/1000 与 Long.MAX_VALUE/1000 之间的差值。  
 * 'Q'  	|	 自协调世界时 (UTC) 1970 年 1 月 1 日 00:00:00 至现在所经过的毫秒数,即 Long.MIN_VALUE 与 Long.MAX_VALUE 之间的差值。  
 * 'B'  	|	 特定于语言环境的月份全称,例如 "January" 和 "February"。  
 * 'b'  	|	 特定于语言环境的月份简称,例如 "Jan" 和 "Feb"。  
 * 'h'   	|	与 'b' 相同。  
 * 'A'  	|	 特定于语言环境的星期几全称,例如 "Sunday" 和 "Monday"  
 * 'a'  	|	 特定于语言环境的星期几简称,例如 "Sun" 和 "Mon"  
 * 'C'   	|	除以 100 的四位数表示的年份,被格式化为必要时带前导零的两位数,即 00 - 99  
 * 'Y'  	|	 年份,被格式化为必要时带前导零的四位数(至少),例如,0092 等于格里高利历的 92 CE。  
 * 'y'  	|	 年份的最后两位数,被格式化为必要时带前导零的两位数,即 00 - 99。  
 * 'j'  	|	 一年中的天数,被格式化为必要时带前导零的三位数,例如,对于格里高利历是 001 - 366。  
 * 'm'   	|	月份,被格式化为必要时带前导零的两位数,即 01 - 13。  
 * 'd'  	|	 一个月中的天数,被格式化为必要时带前导零两位数,即 01 - 31  
 * 'e'   	|	一个月中的天数,被格式化为两位数,即 1 - 31。  
 * 
 * @author jianjun.wu
 * @createtime Jun 24, 2010 10:31:05 AM
 * @version 1.0
 * @see JDK1.5
 **/
public class TestString
{

	/**
	 * @author jianjun.wu
	 * @creaetime Jun 24, 2010 10:31:06 AM
	 * @param args
	 */
	public static void main(String[] args)
	{
		Calendar c = Calendar.getInstance();
		System.out.println(String.format("Duke's Birthday: %1$tm %1$te,%1$ty", c));
		System.out.println(String.format("Now time is %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS:%1$tL:%1$tN:%1$tp:%1$tz:%1$tZ:%1$ts:%1$tQ", new Date()));
		System.out.println(String.format("number:%1$08.1f--%2$s",5656565.26,"2"));
		System.out.println(String.format("My name is %1$s.","zhangsan",23));
	}
}

 

分享到:
评论

相关推荐

    Can't find a codec for class java.math.BigDecimal.txt

    解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal

    commons-lang-StringUtils.zip

    Commons Lang是Apache软件基金会开发的一个Java工具包,它提供了许多实用的函数,扩展了Java标准库中关于字符串处理的功能。`StringUtils`类是这个工具包中的核心类之一,专门用于处理字符串的各种操作,包括但不...

    Java 加减乘除工具类(解决精度损失问题)

    * @return java.lang.String * @author xm * @create 2018/6/7 12:03 **/ public static String format2point(Number value) { return df.format(value); } public static Double add(Number value1, ...

    php-java-bridge 配置包

    $s = new Java( "java.lang.String" , "php-java-bridge config...<br> " ); echo $s ; // demonstrate property access print 'Java version=' . $system ->getProperty( 'java.version' ). ' ' ; print...

    Java常用包

    Java语言提供了多种常用包,包括java.lang、String、StringBuffer、Math、Object、Class、Constructor、Method、Field、Date、Calendar、SimpleDateFormat、File等。这些包中的类和方法为Java开发提供了强大的支持。...

    java写的将字符串中的中文转化为拼音等一系列方法

    format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_V); char[] input = inputString.trim().toCharArray(); String output = ""; try { for ...

    Java通过Apache提供的Commons Email工具类实现邮箱发送验证码

    return String.format("%04d", random.nextInt(9999)); } } ``` 在上述代码中,`generateVerificationCode`方法用于生成验证码,可以根据业务需求调整其生成逻辑。例如,你可以使用更安全的随机数生成算法,或者...

    java常用工具类——个人总结

    - `java.time.format.DateTimeFormatter` 用于格式化和解析日期时间字符串。 4. **集合工具类**: - `java.util.Collections` 提供了一系列静态方法,用于操作集合,如排序、查找、填充等。 - `java.util....

    java常用工具类

    - `java.time.format.DateTimeFormatter`:用于日期和时间的格式化和解析。 4. **String工具类**: - `java.lang.String`:Java中的字符串类,不可变且线程安全。它提供了大量方法,如`substring()`, `trim()`, `...

    Java常用工具类.zip

    1. **字符串工具类**:在Java中,`java.lang.String`类提供了许多内置的方法来处理字符串,但有时我们还需要更高级的功能,这时可以使用`java.util.StringUtils`(来自Apache Commons Lang库)或者Google的Guava库中...

    java 与 flex 数据转换

    - ActionScript 的 `String` 类型映射到 Java 的 `java.lang.String` 类。 - Java 中的 `String`、`Boolean`(转换为字符串形式)和 `Character`(单个字符)也可以映射回 ActionScript 的 `String`。 5. **Date*...

    整理的若干java常用工具类

    此外,`java.time.format.DateTimeFormatter`则用于格式化和解析日期时间。 3. **字符串操作**:`java.lang.String`类提供了大量的字符串处理方法,如concat()、substring()、trim()、indexOf()等,用于字符串连接...

    java String类的实现

    Java中的`String`类是编程中最常用的类之一,它在Java的`java.lang`包中,无需显式导入即可使用。`String`类代表不可变的字符序列,这意味着一旦创建了`String`对象,它的值就不能改变。这个特性使得`String`在处理...

    date和string互相装换

    2. **String类**:`java.lang.String`类用于表示文本。 3. **SimpleDateFormat类**:`java.text.SimpleDateFormat`是`DateFormat`的一个子类,用于以特定的方式格式化或解析日期/时间。 #### 三、从String转换为...

    【Java编程教程】详解Java String字符串.pdf

    首先,Java中的字符串实际上是一个表示`char`值序列的对象,它是由`java.lang.String`类定义的。字符串在内存中的处理非常特别,它们存储在称为“字符串常量池”的区域,这是一个优化内存使用的策略。当使用字符串...

    java工具类

    此外,`java.time.format.DateTimeFormatter`提供了丰富的格式化选项,可以方便地将日期时间转换为字符串或反之。 2. **字符串工具类**: `java.lang.StringBuilder`和`java.lang.StringBuffer`用于构建和操作字符...

    ognl表达式java使用案例详解(测试通过)

    2、支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@format('foo %s', 'bar')或@tutorial.MyConstant@APP_NAME; 3、支持赋值操作和表达式串联...

    Java 动态代理详解(学习资料)

    JDK 动态代理JDK 提供了 java.lang.reflect.Proxy 类和 java.lang.reflect.InvocationHandler 接口来支持动态代理。Proxy 类用于创建一个代理对象,而 InvocationHandler 接口则定义了代理对象的方法调用处理逻辑。...

Global site tag (gtag.js) - Google Analytics