5.8 日期字符串数字的格式化

5.8  日期字符串数字的格式化

数字的格式化

①Math类:  

                abs();    绝对值             

public class Test {

	public static void main(String[] args) {
                 int a = Math.abs(-7);
                System.out.println(a);    // 打印7
}  

                  ceil();    向上取整                    

        floor();   向下取整

public class Test {

	public static void main(String[] args) {
				
		double d1 = Math.ceil(12.345);                                  
		double d2 = Math.ceil(12.745);
		double d3 = Math.floor(12.345);
		double d4 = Math.floor(12.745);
		System.out.println(d1);                          //打印13
		System.out.println(d2);                         //打印13
		System.out.println(d3);                         //打印12
		System.out.println(d4);                         //打印12
         }
}  

                  round();        四舍五入取整

public class Test {

	public static void main(String[] args) {
		
		double d5 = Math.round(13.111);
		double d6 = Math.round(13.711);
		System.out.println(d5);                    //打印13       
		System.out.println(d6);                   //打印14
              }
} 

                  random();     取随机数(0-1,不包括1)

                  还可以用java.util.Random

                                   nextInt(int  bounds)

          全球唯一标识   UUID   一般用于文件上传,重名的。上传时随机生成改名

import java.util.UUID;
public class Test {

	public static void main(String[] args) {
			
		UUID uuid = UUID.randomUUID();
		System.out.println(uuid);               //打印一个很长的名字
        }
}

           Date    时间戳  某一个时间点到当前时间的毫秒数,弊端:服务器快会重名

public class Test {

	public static void main(String[] args) {
			
		Date date = new Date();
		System.out.println(date.getTime());     //一串数字
	}

}

②NumberFormat

             DecimalFormat   

public class Test2 {

	public static void main(String[] args) {
		
	         double d = 12.3456789;
		 double d2 = 0.35;
                DecimalFormat df = new DeciamalFormat("##.##")    //打印12.34
                DecimalFormat df = new DeciamalFormat("000.##")    //打印0012.34
                DecimalFormat df = new DeciamalFormat("##%")    //打印35%
	        String s = df.format(d);
                String s = df.format(d2);
                System.out.println(s);   


                String.format("%.2f",d)      也可以格式化小数点,参数写几个都行,不写也行
                System.out.println(s1);      //打印出12.35   会四舍五入     


               System.out.printf("%.2f",d);         //也是打印12.35     
            }
}             

      对日期的操作

public class Test2 {

	public static void main(String[] args) {
	
	    Date date = new Date();
            DateFormat df = DateFormat.getInstance();
            DateFormat df = DateFormat.getInstance(DateFormat.SHORT);18-5-8
            DateFormat df = DateFormat.getInstance(DateFormat.LONG);2018年5月8日
            DateFormat df = DateFormat.getInstance(DateFormat.MEDIUM);2018-5-8
            DateFormat df = DateFormat.getInstance(DateFormat.FULL);2018年5月8日 星期二
            String s = df.format(date);
            System.out.println(s);            //打印18-5-8 上午10:41  当前时间默认格式



           SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T' HH:mm:ss.SSSZ");
            //打印出2018-05-08T10:49:04.732+0800   
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss.SSSZ");
            //打印出2018年05月08日10:49:04.732+0800   
               SimpleDateFormat sdf = new SimpleDateFormat("MM月");
            //打印出05月
           String s2 = sdf.format(date);
           System.out.println(s2);


            只取月份
            Calendar c = Calendar.getInstance();              //打印出4,只取月份
	    System.out.println(c.get(Calendar.MONTH)); 
   
        
            //打印指定的日期,2014-07-28:
           SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
           try {
			date = sdf.parse("2014-07-28");
		} catch (ParseException e) {
			e.printStackTrace();
		}
            System.out.println(sdf.format(date));
            //这个日期只取月份
           c.setTime(date);
           TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo");   亚洲日本东京
           
           c.setTimeZone(tz);   //时区,抽象类,没法实例化
           System.out.println(c.get(Calendar.MONTH));    //日期只取月份
           
           String[] ss = TimeZone.getAvailableIDs();        //获取全国时区
           for(int i = 0;i<ss.length;i++){
           System.out.println(ss[i]);  
           }
            }
}