日期字符串数字的格式化
import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; public class Test { public static void main(String[] args) throws ParseException { NumberFormat format = new DecimalFormat("#,###.00"); //#: 只显示有效数字, 0: 如果位数少于0的个数, 则用0补全 //NumberFormat 是所有数值格式的抽象基类,所以不可以直接实例化 //DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。 System.out.println(format.format(0.05)); //格式一个double型 System.out.println(format.format(12345678.45678)); //输出的结果是12,345,678.46 /* * Math.round(); // 四舍五入到整数位 * Math.ceil(); // 向上取整 * Math.floor(); // 向下取整 */ System.out.println(Math.ceil(183 / 100D) * 100);//183针对百位进行四舍五入,输出的应该是200 //向上取整的是double型的,先要转一下 //String.format(); Date date = new Date(); System.out.println(String.format("%tA", date)); //显示的是当前日期 System.out.println(String.format(Locale.ENGLISH, "%tA", date)); //locale,国际化 System.out.println(date); System.out.println(String.format("%tF", date)); Date date = new Date(); //已过时,几乎不怎么用了 Calendar c = Calendar.getInstance(); c.setTime(date); System.out.println(c.get(Calendar.DAY_OF_YEAR));*/ long l = date.getTime(); //返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 System.out.println(l); //某个时间点到现在一共有多少天 Timestamp t = new Timestamp(0L);//时间戳,显示的是1970年1月1日 System.out.println(String.format("%tF", t));*/ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(sdf.format(date)); Date d = sdf.parse("1999-12-25"); //解析的意思,把字符串解析成一个date变量 System.out.println(String.format("%tF", d)); //输出的是1999-12-25 StringBuffer buffer = new StringBuffer(); //实例化 //线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。 //StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。 long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { buffer.append("a"); //往后加a,循环几次,加几次a } long end = System.currentTimeMillis(); System.out.println(end - start); //用了线性安全,速度会加快,不停的在实例化