zoukankan      html  css  js  c++  java
  • 【Java 笔记】 java 格式化输出

       public static void main(String[] args) {
    
            /**
             * 格式化形式
             * %[argument_index$][flags][width][.precision]conversion
             *
             * argument_index: 可选,是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。
             *
             * flags: 可选,用来控制输出格式
             *
             *  可选,是一个正整数,表示输出的最小长度
             *
             * precision:可选,用来限定输出的精度
             *
             * conversion:必须,用来表示如何格式化参数的字符
             */
    
            /**
             * argument_index$
             * %2$s 表示第二个参数输出字符串类型
             */
    
            /**
             * flags是可选参数,用于控制输出的格式,比如左对齐、金额用逗号隔开。
             *
             * '-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
             * '+' 结果总是包括一个符号
             * ' ' 正值前加空格,负值前加负号
             * '0' 结果将用零来填充
             * ',' 每3位数字之间用“,”分隔(只适用于fgG的转换)
             * '(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)
             */
    
            /**
             * width是可选参数,用于控制输出的宽度。
             * %5d %5s
             */
    
            /**
             * precision是可选参数,用来限定输出的精度,用于浮点数。
             *  %.5f
             */
    
            /**
             * 各种 conversion
             *
             * %s   字符串类型           "mingrisoft"
             * %c   字符类型             'm'
             * %b   布尔类型             true
             * %d   整数类型 - 十进制       99
             * %x   整数类型 - 十六进制     FF
             * %o   整数类型 - 八进制      77
             * %f   浮点类型              99.99
             * %a   十六进制浮点类型        FF.35AE
             * %e   指数类型                9.38e+5
             * %g   通用浮点类型: f和e类型中较短的
             * %h   散列码
             * %%   百分比类型   %
             * %n   换行符
             * %tx  日期与时间类型(x代表不同的 <日期> 与 <时间> 转换符)
             *
             * 注: 日期时间的格式输出一般使用另外的库的相关类来构造, 不采用这种方式
             * 日期转换符
             *
             * c        包括全部日期和时间信息         星期六 十月 27 14:21:20 CST 2007
             * F        “年-月-日”格式               2007-10-27
             * D        “月/日/年”格式               10/27/07
             * r        “HH:MM:SS PM”格式(12时制)   02:25:51 下午
             * T        “HH:MM:SS”格式(24时制)      14:28:16
             * R        “HH:MM”格式(24时制)         14:28
             * B/b/h    本地化显示月份字符串
             * A/a      本地化显示星期字符串
             * C        年份除以100的结果, 不足俩位补 0
             * Y/y      四位年份和2位年份
             * j        显示公历年的第几天
             * m        显示当前月份, 不足俩位前面补 0
             * d        当月的第几天, 不足俩位前面补 0
             * e        当月的第几天
             *
             * 时间格式的转换符要更多、更精确
             *
             * H        2位数字24时制的小时(不足2位前面补0)               15
             * I        2位数字12时制的小时(不足2位前面补0)               03
             *
             * k        2位数字24时制的小时(前面不补0)                  15
             * l        2位数字12时制的小时(前面不补0)                  3
             *
             * M        2位数字的分钟(不足2位前面补0)                   03
             * S        2位数字的秒(不足2位前面补0)                    09
             *
             * L        3位数字的毫秒(不足3位前面补0)                   015
             * N        9位数字的毫秒数(不足9位前面补0)                  562000000
             * p        小写字母的上午或下午标记                            中:下午 英:pm
             * z        相对于GMT的RFC822时区的偏移量                     +0800
             * Z        时区缩写字符串                                     CST
             * s        1970-1-1 00:00:00 到现在所经过的秒数             1193468128
             * Q        1970-1-1 00:00:00 到现在所经过的毫秒数            1193468128984
             */
    
    
            // + 为正数或者负数添加符号
            // − 左对齐
            // 0 数字前补领0 - 右对齐宽度剩余
            System.out.printf("{%+-5d} - {%05d}%n", 12, 12);
    
            // 宽度不够
            System.out.printf("{%+-5d} - {%015d}%n", 1111112, 11111112);
            String.format("'b':将参数格式化为boolean类型输出,'B'的效果相同,但结果中字母为大写。%b", false);
    
            // 格式化参数引用
            System.out.printf("%2$s, %1$d %n", 99, "abc");
    
            // 格式化日期
            Date date = new Date();
            System.out.printf("%1$tF %1$tT %n", date);
            System.out.println(String.format(Locale.US, "英文星期的简称:%ta", date));
            // System.out.printf("%tN%n", date);
            System.out.printf("%1$td%n", date);
            System.out.printf("%1$tm%n", date);
    
            System.out.println("---------------------------------------------------------------------");
    
            System.out.println(String.format("'B':本地化显示月份字符串,如:January、February"));
            System.out.println(String.format("'b':本地化显示月份字符串的缩写,如:Jan、Feb"));
            System.out.println(String.format("'h':本地化显示月份字符串的缩写,效果同'b'"));
    
            Calendar calendar = Calendar.getInstance();
            System.out.println(String.format(Locale.US, "Locale.US 月份=%1$tB,缩写=%1$tb", calendar));
            System.out.println(String.format(Locale.CHINA, "Locale.CHINA 月份=%1$tB,缩写=%1$tb", calendar));
    
            System.out.println(String.format("'A':本地化显示星期几字符串,如:Sunday、Monday"));
            System.out.println(String.format("'a':本地化显示星期几字符串的缩写,如:Sun、Mon"));
            System.out.println(String.format(Locale.US, "Locale.US 星期几=%1$tA,缩写=%1$ta", calendar));
            System.out.println(String.format(Locale.CHINA, "Locale.CHINA 星期几=%1$tA,缩写=%1$ta", calendar));
    
            System.out.println(String.format("'C':年份除以100的结果,显示两位数,不足两位前面补0:%tC(范围:00-99)", calendar));
            System.out.println(String.format("'Y':显示四位数的年份,格利高里历,即公历。不足四位前面补0:%tY", calendar));
            System.out.println(String.format("'y':显示年份的后两位:%ty(范围:00-99)", calendar));
            System.out.println(String.format("'j':显示当前公历年的天数:第%tj天(范围:001-366)", calendar));
            System.out.println(String.format("'m':显示当前月份:%tm月(范围:01-13?怎么会有13个月?)", calendar));
            System.out.println(String.format("'d':显示是当前月的第几天,不足两位前面补0:%1$tm月第%1$td天(范围:01-31)", calendar));
            System.out.println(String.format("'e':显示是当前月的第几天:%1$tm月第%1$te天(范围:1-31)", calendar));
        }
    

      

  • 相关阅读:
    springboot自定义对象参数
    mybatis学习之查询条件构造器
    C#的Abstract和Virtual
    ducker的网络介绍
    docker启动Tomcat报错404解决
    EF框架报错:System.Data.Entity.Internal.AppConfig的类型初始值设定项引发异常
    docker的运行过程
    html的video控件使用
    EF中lambda表达式实现LIKE模糊查询
    nginx和Tomcat的区别
  • 原文地址:https://www.cnblogs.com/pengyusong/p/7241034.html
Copyright © 2011-2022 走看看