Java中数字的格式化及日期的应用:String.format(),Date(),Calendar

一:String.format()
摘要:

  • %,d:代表以十进制整数带有逗号的方式来表示

  • %.2f:代表以小数点后两位的方式来格式化此浮点数

  • %,.2f:代表整数部分以有逗号的形式表示,小数部分以两位来格式化

  • %tc:输出完整的日期和时间

  • %tr:仅输出时间

  • %tA,%tB %td:输出 周,月 日

//整数用逗号隔开
        String s = String.format("%,d",100000000000L);
        System.out.println(s);
        //输出:100,000,000,000
        
        //小数的位数设定,会四舍五入
        double a = 467898.24566767;
        String s2 = String.format("%,.2f",a);
        System.out.println(s2);
        //输出:467,898.25
        
        //同时输出小数和整数
        int one = 209300349;
        double two = 293.239939448;
        String s3 = String.format("Integer:%,d and Double:%.2f",one,two);
        System.out.println(s3);
        //输出:Integer:209,300,349 and Double:293.24
        
        //输出日期
        String s4 = String.format("%tc",new Date());//注意日期是你电脑系统此刻的时间
        System.out.println(s4);

        String s5 = String.format("%tr",new Date());
        System.out.println(s5);

        Date today = new Date();
        String s6 = String.format("%tA,%tB %td",today,today,today);
        System.out.println(s6);

        String s7 = String.format("%tA,%<tB %<td",today);//< 表示重复利用之前的参数
        System.out.println(s7);
//输出:
/*
周二 1月 26 22:00:27 CST 2021
10:00:27 下午
星期二,一月 26
星期二,一月 26
*/

二:Date()

System.out.println(new Date());
输出:Tue Jan 26 22:03:45 CST 2021

三:Calendar
初始定义:

/*这里我们再说说日期的应用,Date可以方便地获取当前日期时间,Calendar可以简单的操作时间
        注意Calendar的初始化方法
        Calendar cal = new Calendar();是错的,无法通过编译
         */
正确初始化:Calendar c =  Calendar.getInstance();//返回Calendar,可以指定地区
Calendar c =  Calendar.getInstance();
c.set(2021,1,26,20,04);//设定时间
        //加上一个小时
        c.add(c.HOUR,1);
        System.out.println("add 1 hour"+c.getTime());
        //加上35天,c就到2月了
        c.add(c.DATE,35);
        System.out.println("add 35 days"+c.getTime());

        //滚动35天,月份不变
        c.roll(c.DATE,35);
        System.out.println("roll 35 days"+c.getTime());

        //直接设定
        c.set(c.DATE,20);
        System.out.println("set to 20"+c.getTime());

猜你喜欢

转载自blog.csdn.net/qq_51677496/article/details/113198414