格式字符串

 

格式字符串

                                             

生产格式化字符串的每个方法都需要格式字符串参数列表。格式字符串是一个string,它可以包含固定文本以及一个或多个格式说明符。

  String. format(String format, Object ... args);

格式说明符的语法

  常规类型、字符串和数值型的格式说明符的语法

   %[argument_index][flags][width][.percision]conversion

   例如:%1$ 0 10 d 意思是:在参数列表中的一个参数格式化数字类型,数字

                                      类型范围为10位,如果不够10位则在此参数前

                                      补“0“。

              String.format("%1$04d", 55);  结果为:0055

  用来表示日期和时间的格式说明符语法如下

  %[argument_index][flags][width]conversion

  Conversion 有两个字符组成的序列。第一个字符是“t“ 或 ”T“,第二个是字符表明所使用的格式。

  与参数不对应的格式说明符的语法如下

  %[flags][width]conversion

  所需conversion是一个表明要在输出中所插内容的字符。

 

以下格式化日期为例:

public static void formateDate(Calendar calendar) {

       /**

        * <pre>

        * 式化日期

        *   D——%tm/%td/%ty

        *   F——%tY-%tm-%td

        *   c——%ta %tb %td %tT %tZ %tY

        * </pre>

        */

       p(String.format("%1$tD %1$tF %1$tc", calendar));

    }

 

    public static void formateDateYear(Calendar calendar) {

       /**

        * <pre>

        * 年

        * Y——年份,被格式化为必要时带前导零的四位数(至少)

        * y——年份的最后两位数,被格式化为必要时带前导零的两位数 00-99

        * j——一年中的天数001-366

        * m——月份01-13

        * d——一个月中的天数 01-31

        * e——一个月中的天数 1-31

        * </pre>

        */

       p(String.format("%1$tY %1$ty %1$tj %1$tm %1$td %1$te", calendar,

              calendar, calendar, calendar, calendar, calendar));

    }

    public static void formateDateAndHours(Calendar calendar) {

       /**

        * <pre>

        * 式化日期/时间组合

        *     R——%tH:%tM              24 小时

        *     T——%tH:%tM:%tS          24 小时

        *     r——%tI:%tM:%tS %Tp      12 小时

        * </pre>

        */

       p(String.format("%1$tR %2$tT %3$tr", calendar, calendar, calendar));

    }

 

    public static void formateDateHours(Calendar calendar) {

       /**

         * <pre>

        * 格式化日期

        *     24小时制

        *           1.H——范围00-23

        *           2.k——范围0-23

        *     12小时制

        *           1.I——范围00-12

        *           2.l——范围0-12

        * </pre>

        */

       p(String.format("%1$tH %2$tI %3$tk %4$tl", calendar, calendar,

              calendar, calendar));

    }

 

    public static void formateDateMonths(Calendar calendar) {

       /**

        * <pre>

        * 月

        *   B——特定于语言环境的月份全称

        *   b——特定于语言环境的月份简称

        *   h——与b相同

        *   A——特定于语言环境的星期几全称

        *   a——特定于语言环境的星期几简称

        * </pre>

        */

       p(String.format("%1$tB %2$tb %3$tA %3$ta", calendar, calendar,

              calendar, calendar));

    }

 

    /**

     * @param calendar

     */

    public static void formateDateSeconds(Calendar calendar) {

       /**

        * <pre>

        * 格式小时中的分钟

        *        M分钟——范围00-59

        *        S秒——范围00-60

        *        L毫秒——范围000-999

        *        N微妙——范围000000000-999999999

        *        p 上午或下午 p根据系统的语言环境

        * </pre>

        */

       p(String.format("%1$tM %2$tS %3$tL %4$tN %4$tp", calendar, calendar,

              calendar, calendar, calendar));

    }

 

    public static void formatString01() {

 

       int s = 55556565;

       // %[参数列的位置][修改输出字符串的字符集][要输出写入的字符最少字符数][给定参数的有效转换集取决于参数的数据类型]

       // 取决于转换类型

       String str2 = String.format("%1$010d", s); // 不满四位前面补0

       p(str2);

    }

 

    public static void formatString02() {

       p(String.format("%1$,09d", -3123));

       p(String.format("%1$9d", -31));

       p(String.format("%1$-9d", -31));

       p(String.format("%1$(9d", -31));

       p(String.format("%1$#9x", 5689));

    }

 

    /**

     * 打印输出

     *

     * @param o

     */

    public static void p(Object o) {

       System.out.println(o.toString());

    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值