2009-01-27

Java的数字格式化和日期的处理

数字格式化:
  注意,这个是数字的格式化而不是数字的格式化输出。
  显然,格式化之后的数字就不再是数字,而是一个字符串对象了。在Java 5之后,java.uitl.Formatter这个类提供了很多不错的格式化功能,但是简单的数字格式化可以直接用java.lang.String.format()这个静态方法实现。这个格式化规则很类似于C的printf
简要介绍一下语法:
String.format("test1 %[argument number][ flags][width][.precision]type test2" , number);
每个%代表一个参数,这和C的printf类似,而且它也是用可变参数列表实现的。
这种数字格式化不仅支持数字显示的格式化,日期、时间也可以,而且还有重复使用参数的方法。
比如
String.format("test1 %,d %,.2f test %x, var1,var1,var1);
只需要改写成
String.format("test1 %,d %<,.2f test %<x, var1)也及时加个<表示重复利用之前的参数。


操作日期:

在Java 5中,我们仍然使用java.util.Date来获得当前日期,但是如果要进行比较复杂的日期操作的话就要用java.util.Calendar了
Calendar对象可以设定日期,可以加减运算,可以将日期用毫秒表示。
虽然java.util.Calendar是一个abstract 类,但是我们要获得Calendar的实例却有简单的方法:
Calendar cal = Calendar.getInstance();
Calendar.getInstance()是一个静态方法,而之所以能这样用是因为这个静态方法会返回一个java.util.Calendar的一个子类的实例,通常是java.util.GregorianCalendar。这样我们就可以通过使用java.util.Calendar的方法来操作日期了。

没有评论: