精华内容
下载资源
问答
  • 2021-02-12 21:10:10

    今天碰到一简单的功能,就是把字符串格式化成9位,不足的前面补0。懒人就想一行代码解决这个问题,后来发现能一行代码补足位数的,前面都是补的空格,而要想补0的,都是需要整数型。用到的函数是 String.format,可以格式化整形,字符串,日期等,具体请百度。

    System.out.println(String.format(“%09d”, 123);

    输出:000000123

    System.out.println(String.format(“%9s”, “123″);

    输出: 123

    刚好我那字符串是可以转换成整型的,所以代码如下:

    System.out.println(String.format(“%09d”, Long.parseLong(“123″)));

    输出:000000123

    摘下网上的字符串补0方法,未测试过:

    public static String addZeroForNum(String str, int strLength) {

    int strLen = str.length();

    if (strLen < strLength) {

    while (strLen < strLength) {

    StringBuffer sb = new StringBuffer();

    sb.append("0").append(str);// 左补0

    // sb.append(str).append("0");//右补0

    str = sb.toString();

    strLen = str.length();

    }

    }

    return str;

    }

    本文分享 CSDN - 甲蛙全栈。

    如有侵权,请联系 support@oschina.cn 删除。

    本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

    更多相关内容
  • java字符串格式化String.format()
  • java字符串格式化

    万次阅读 2019-04-17 08:43:43
    你是否经常忘记 Java String 格式说明符?或者你从来都没有时间学习过。以下是您可以使用的各种标识符参考。...在 Java格式化字符串最常用的方法就是String.format(),如果有一个 Java 版本的 printf...

    你是否经常忘记 Java String 格式说明符?或者你从来都没有时间学习过。以下是您可以使用的各种标识符参考。

    你是否尝试阅读并理解 java 的 String 格式化文档?我觉得很难理解。尽管这个文档提供了所有的信息,但是它的组织结构让人失望。

    String 格式化

    在 Java 中格式化字符串最常用的方法就是 String.format(),如果有一个 Java 版本的 printf,它会像下面这样:

    String output = String.format("%s = %d", "joe", 35);
    • 1

    对于控制台中的格式化输出,可以使用 System.out 或 System.err 中的 printf() 或者 format()方法。

    System.out.printf("My name is: %s%n", "joe");
    • 1

    创建一个 Formatter 并将其链接到 StringBuilder,通过format() 格式化输出的内容会追加到 StringBuilder 中。

    StringBuilder sbuf = new StringBuilder();
    Formatter fmt = new Formatter(sbuf);
    fmt.format("PI = %f%n", Math.PI);
    System.out.print(sbuf.toString());
    // you can continue to append data to sbuf here.
    • 1
    • 2
    • 3
    • 4
    • 5

    格式说明符

    以下是所有支持的转换说明符的快速参考。

    说明符适用于输出
    %a浮点数 (除了BigDecimal)浮点数的十六进制输出
    %b任何类型如果为非空则为“true”,为空则为“false”
    %c字符Unicode字符
    %d证书(包括byte, short, int, long, bigint)十进制整数
    %e浮点数科学计数的十进制数
    %f浮点数十进制数
    %g浮点数十进制数,根据值和精度可能以科学计数法显示
    %h任何类型通过hashCode()方法输出的16进制数
    %n平台相关的换行符
    %o整数(包括byte, short, int, long, bigint)八进制数
    %s任何类型字符串
    %t日期/时间 (包含long, Calendar, Date 和TemporalAccessor)%t是日期/时间转换的前缀。后面还需要跟其他的标识,请参考下面的日期/时间转换。
    %x整数(包含byte, short, int, long, bigint)十六进制字符串

    日期和时间格式

    注意:使用 “%T” 替换下面的 “%t” 可以将输出结果变成大写形式。

    标识注释
    %tA星期几的全名,例如 “Sunday“, “Monday“。
    %ta星期几的缩写,例如 “Sun“, “Mon“。
    %tB月份的全名,例如 “January“, “February“。
    %tb月份的缩写,例如 “Jan“, “Feb“。
    %tC年的世纪部分的格式为两位数,从 “00“到“99”。
    %tc日期和时间的格式为 “%ta %tb %td %tT %tZ %tY” 如 “Fri Feb 17 07:45:42 PST 2017“。
    %tD格式为 “%tm/%td/%ty“ 的日期。
    %td两位的日期格式,从 “01”到 “31“。
    %te没有前导0的日期,从 “1” 到 “31”。
    %tF使用 “%tY-%tm-%td“ 格式的 ISO 8601 日期。
    %tH24小时制的小时,从 “00” 到 “23“。
    %th同 %tb。
    %tI12小时制的小时,从 “01” 到 “12“。
    %tj带前导0的年中的日期,从 “001” 到“366“。
    %tk没有前导0的24小时制,从 “0” 到 “23“。
    %tl没有前导0的12小时制,从 “1” 到“12“。
    %tM带前导0的分钟,从 “00” 到“59“。
    %tm带前导0的月份,从 “01” 到 “12“。
    %tN带前导0的9位纳秒数,从 “000000000” to “999999999”.
    %tp和区域相关的 “am” or “pm” 标记。
    %tQ1970年1月1日00:00:00 UTC 以来的毫秒。
    %tR24小时制的时间,如:“%tH:%tM“。
    %tr12小时制的时间,如:“%tI:%tM:%tS %Tp“。
    %tS2位数字格式的秒,从 “00” 到 “60”。 “60” 需要支持闰秒。
    %ts1970年1月1日00:00:00 UTC以后的秒数。
    %tT24小时制的时分秒,如: “%tH:%tM:%tS“。
    %tY4位的年份格式,从 “0000” 到 “9999“。
    %ty2位的年份格式,从 “00” 到 “99“。
    %tZ时区缩写,如:“UTC“, “PST“。
    %tz与GMT的时区偏移量,如 -0800

    参数索引

    参数索引是以 $ 结尾,在 % 后面的数字,用于指定在参数列表中的参数。参数索引从 1 开始。

    String.format("%2$s", 32, "Hello"); // 输出:"Hello"
    • 1

    格式化整数

    使用%d格式说明符,您可以使用所有整数类型的参数,包括byte,short,int,long 和BigInteger。默认格式:

    String.format("%d", 93); // 输出:93
    • 1

    指定宽度:

    String.format("|%20d|", 93); // 输出:|                  93|
    • 1

    指定宽度内的左对齐:

    String.format("|%-20d|", 93); // 输出:|93                  |
    • 1

    用零填充:

    String.format("|%020d|", 93); // 输出:|00000000000000000093|
    • 1

    用”+”号打印正数(负数总是包含”-“):

    String.format("|%+20d|", 93);  // 输出:|                 +93|
    String.format("|%+20d|", -93); // 输出:|                 -93|
    • 1
    • 2

    正数之前的空格,按正常值计算负数的“-”。

    String.format("|% d|", 93);  // 输出:| 93| 
    String.format("|% d|", -36); // 输出:|-36|
    • 1
    • 2

    使用和区域相关的千位分隔符,美国的是“,”:

    String.format("|%,d|", 10000000); // 输出:|10,000,000|
    • 1

    中国的也一样:

    String.format(Locale.CHINA, "|%,d|", 10000000)// 输出:|10,000,000|
    • 1

    使用左边括号括起来可以跳过“-”。

    String.format("|%(d|", -36); // 输出:|(36)|
    • 1

    八进制输出。

    String.format("|%o|"), 93); // 输出:135
    • 1

    十六进制输出。

    String.format("|%x|", 93); // 输出:5d
    • 1

    八进制和十六进制输出的替代表示。

    带前导0的八进制和带前导”0x“的十六进制输出:

    String.format("|%#o|", 93); // 输出:0135
    String.format("|%#x|", 93); // 输出:0x5d
    String.format("|%#X|", 93); // 输出:0X5D
    • 1
    • 2
    • 3

    字符串和字符转换

    默认格式。

    打印整个字符串。

    String.format("|%s|", "Hello World"); // 输出:"Hello World"
    • 1

    指定字段长度。

    String.format("|%20s|", "Hello World"); // 输出:|         Hello World|
    • 1

    左对齐文本。

    String.format("|%-20s|", "Hello World"); // 输出:|Hello World         |
    • 1

    指定最大字符数。

    String.format("|%.5s|", "Hello World"); // 输出:|Hello|
    • 1

    指定宽度和最大字符数。

    String.format("|%20.5s|", "Hello World"); // 输出:|               Hello|
    • 1

    日期格式化

    由于原文示例不涉及日期的例子,所以这一节是我个人增加的。

    所有日期,除了纯数字显示的内容和区域无关外,文字显示的都和区域相关(下面示例的区域为中国)。

    最简单的星期几。

    String.format(Locale.US, "%tA", new Date()); // 输出:Sunday
    String.format("%tA", new Date());            // 输出:星期日
    • 1
    • 2

    %tc “相当于 “%ta %tb %td %tT %tZ %tY ”,而且不需要自己指定索引。

    String.format("%tc", new Date()); // 输出:星期日 四月 16 08:21:59 CST 2017
    • 1

    如果想要通过具体标识手动指定成上面的效果,需要增加索引。

    String.format("%1$ta %1$tb %1$td %1$tT %1$tZ %1$tY", new Date());
    // 输出:星期日 四月 16 08:24:06 CST 2017
    • 1
    • 2

    常见的 “yyyy-MM-dd HH:mm:ss” 格式。

    String.format("%1$tY-%1$tm-%1$td %1$tT", new Date());
    // 输出:2017-04-16 08:31:16
    • 1
    • 2

    总结

    本篇教程解释了 Java 中的 String 格式化。我们涵盖了支持的格式说明符。数字和字符串格式都支持各种可代替的标识。

    展开全文
  • import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class St....
    import java.beans.PropertyDescriptor;
    import java.lang.reflect.Method;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class StringFormatUtil {
    
        private static final Pattern pattern = Pattern.compile("\\{(.*?)\\}");
        private static Matcher matcher;
    
        /**
         * 格式化字符串 字符串中使用{key}表示占位符
         *
         * @param sourStr
         *            需要匹配的字符串
         * @param param
         *            参数集
         * @return
         */
        public static String stringFormat(String sourStr, Map<String, Object> param) {
            String tagerStr = sourStr;
            if (param == null)
                return tagerStr;
            try {
                matcher = pattern.matcher(tagerStr);
                while (matcher.find()) {
                    String key = matcher.group();
                    String keyclone = key.substring(1, key.length() - 1).trim();
                    Object value = param.get(keyclone);
                    if (value != null)
                        tagerStr = tagerStr.replace(key, value.toString());
                }
            }catch (Exception e){
                return null;
            }
            return tagerStr;
        }
    
        /**
         * 格式化字符串 字符串中使用{key}表示占位符 利用反射 自动获取对象属性值 (必须有get方法)
         *
         * @param sourStr 需要匹配的字符串
         *
         * @return
         */
        public static String stringFormat(String sourStr, Object obj) {
            String tagerStr = sourStr;
            matcher = pattern.matcher(tagerStr);
            if (obj == null)
                return tagerStr;
    
            PropertyDescriptor pd;
            Method getMethod;
            // 匹配{}中间的内容 包括括号
            while (matcher.find()) {
                String key = matcher.group();
                String keyclone = key.substring(1, key.length() - 1).trim();
                try {
                    pd = new PropertyDescriptor(keyclone, obj.getClass());
                    getMethod = pd.getReadMethod();// 获得get方法
                    Object value = getMethod.invoke(obj);
                    if (value != null)
                        tagerStr = tagerStr.replace(key, value.toString());
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    // Loggers.addException(e);
                }
            }
            return tagerStr;
        }
    
        /**
         * 格式化字符串 (替换所有) 字符串中使用{key}表示占位符
         *
         * @param sourStr
         *            需要匹配的字符串
         * @param param
         *            参数集
         * @return
         */
        public static String stringFormatAll(String sourStr, Map<String, Object> param) {
            String tagerStr = sourStr;
            if (param == null)
                return tagerStr;
            try {
                matcher = pattern.matcher(tagerStr);
                while (matcher.find()) {
                    String key = matcher.group();
                    String keyclone = key.substring(1, key.length() - 1).trim();
                    Object value = param.get(keyclone);
                    if (value != null)
                        tagerStr = tagerStr.replace(key, value.toString());
                }
            }catch (Exception e){
                return null;
            }
            return tagerStr;
        }
    
        /**
         * 格式花字符串,按照占位符名字
         * 输入:sourStr = xxxxx{a}xxxx{b}  ,param = {a:A,b:B}
         * 输出:targetStr = xxxxAxxxxB
         * @param sourStr
         * @param param
         * @return
         */
        public static String stringFormat(String sourStr, JSONObject param) {
            String tagerStr = sourStr;
            if (param == null)
                return tagerStr;
            try {
                matcher = pattern.matcher(tagerStr);
                while (matcher.find()) {
                    String key = matcher.group();
                    String keyclone = key.substring(1, key.length() - 1).trim();
                    Object value = param.get(keyclone);
                    if (value != null)
                        tagerStr = tagerStr.replace(key, value.toString());
                }
            }catch (Exception e){
                return null;
            }
            return tagerStr;
        }
    
        public static void main(String[] args) {
    //        Map<String,Object> map = new HashMap<>();
    //        map.put("id","111");
    //        map.put("sss","ss");
    //        JSONObject json = new JSONObject();
    //        json.put("id","212");
    //        json.put("fff","xxxx");
    //        json.put("emmmmm",11);
    //        stringFormat("sisas&{fff}_diwahwi%{id}{jio}",json);
        }
    }
    
    展开全文
  • JAVA字符串格式化,String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。 一、String.format()介绍 String.format()字符串常规类型格式化的两种重载方式: // 使用本地语言环境,制定字符串格式...


    引言

    JAVA字符串格式化,String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。

    一、String.format()介绍

    String.format()字符串常规类型格式化的两种重载方式:

    // 使用本地语言环境,制定字符串格式和参数生成格式化的新字符串
    String str = String.format(String format, Object… args);
    
    // 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串
    String str = String.format(Locale locale, String format, Object… args);
    

    常用的类型

    转换符详细说明举例
    %s字符串类型“userId”
    %c字符类型‘m’
    %b布尔类型true
    %d整数类型(十进制)55
    %x整数类型(十六进制)FF
    %o整数类型(八进制77
    %f浮点类型66.66
    %a十六进制浮点类型FF.35AE
    %e指数类型9.38e+5
    %g通用浮点类型(f和e类型中较短的)不举例(基本用不到)
    %h散列码不举例(基本用不到)
    %%百分比类型%(%特殊字符%%才能显示%)
    %n换行符不举例(基本用不到)
    %tx日期与时间类型(x代表不同的日期与时间转换符)不举例(基本用不到)

    二、举例说明

    代码如下(示例):
    字符串格式化,常用于拼接URL

        public static void main(String[] args) {
            String str = "";
            str=String.format("hallo World,%s", "你好,世界");
            System.out.println(str);
            str=String.format("Hi,%s,%s,%s", "小张","小王","小赵");
            System.out.println(str);
            System.out.printf("字母a的大写是:%c %n", 'A');
            System.out.printf("3>7的结果是:%b %n", 3>7);
            System.out.printf("100的一半是:%d %n", 100/2);
            System.out.printf("100的16进制数是:%x %n", 100);
            System.out.printf("100的8进制数是:%o %n", 100);
            System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);
            System.out.printf("上面价格的16进制数是:%a %n", 50*0.85);
            System.out.printf("上面价格的指数表示:%e %n", 50*0.85);
            System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);
            System.out.printf("上面的折扣是%d%% %n", 85);
            System.out.printf("字母A的散列码是:%h %n", 'A');
        }
    

    输出结果:

    hallo World,你好,世界
    Hi,小张,小王,小赵
    字母a的大写是:A 
    3>7的结果是:false 
    100的一半是:50 
    100的16进制数是:64 
    100的8进制数是:144 
    50元的书打8.5折扣是:42.500000 元
    上面价格的16进制数是:0x1.54p5 
    上面价格的指数表示:4.250000e+01 
    上面价格的指数和浮点数结果的长度较短的是:42.5000 
    上面的折扣是85% 
    字母A的散列码是:41 
    

    搭配转换符的标志

    标 志说 明示 例结 果
    +为正数或者负数添加符号("%+d",15)+15
    左对齐("%-5d",15)|15 |
    0数字前面补0("%04d", 99)0099
    空格在整数之前添加指定数量的空格("% 4d", 99)| 99|
    ,以“,”对数字分组("%,f", 9999.99)9,999.990000
    (使用括号包含负数("%(f", -99.99)(99.990000)
    #如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0("%#x", 99)0x63
    <格式化前一个转换符所描述的参数("%f和%< 3.2f", 99.45)99.450000和99.45
    $被格式化的参数索引("%1 d , d,%2 d,s", 99,“abc”)99,abc

    代码如下(示例):

    	public static void main(String[] args) {
    	    String str=null;
    	    //$使用
    	    str=String.format("格式参数$的使用:%1$d,%2$s", 99,"abc");           
    	    System.out.println(str);                     
    	    //+使用
    	    System.out.printf("显示正负数的符号:%+d与%d%n", 99,-99);
    	    //补O使用
    	    System.out.printf("最牛的编号是:%03d%n", 7);
    	    //空格使用
    	    System.out.printf("Tab键的效果是:% 8d%n", 7);
    	    //.使用
    	    System.out.printf("整数分组的效果是:%,d%n", 9989997);
    	    //空格和小数点后面个数
    	    System.out.printf("一本书的价格是:% 50.5f元%n", 49.8);
    	}
    

    输出结果:

    格式参数$的使用:99,abc
    显示正负数的符号:+99与-99
    最牛的编号是:007
    Tab键的效果是:       7
    整数分组的效果是:9,989,997
    一本书的价格是:                                          49.80000

    日期和事件字符串格式化

    在程序界面中经常需要显示时间和日期,但是其显示的 格式经常不尽人意,需要编写大量的代码经过各种算法才得到理想的日期与时间格式。字符串格式中还有%tx转换符没有详细介绍,它是专门用来格式化日期和时 间的。%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

    代码如下(示例):

    		public static void main(String[] args) {
    		    Date date=new Date();                                
    		    //c的使用
    		    System.out.printf("全部日期和时间信息:%tc%n",date);        
    		    //f的使用
    		    System.out.printf("年-月-日格式:%tF%n",date);
    		    //d的使用
    		    System.out.printf("月/日/年格式:%tD%n",date);
    		    //r的使用
    		    System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);
    		    //t的使用
    		    System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);
    		    //R的使用
    		    System.out.printf("HH:MM格式(24时制):%tR",date);
    		}
    

    输出结果:

    全部日期和时间信息:星期一 九月 10 10:43:36 CST 2012
    年-月-日格式:2012-09-10
    月/日/年格式:09/10/12
    HH:MM:SS PM格式(12时制):10:43:36 上午
    HH:MM:SS格式(24时制):10:43:36
    HH:MM格式(24时制):10:43
    

    定义日期格式的转换符可以使日期通过指定的转换符生成新字符串。这些日期转换符如图所示

    		public static void main(String[] args) {
    		    Date date=new Date();                                    
    		    //b的使用,月份简称
    		    String str=String.format(Locale.US,"英文月份简称:%tb",date);     
    		    System.out.println(str);                                                                            
    		    System.out.printf("本地月份简称:%tb%n",date);
    		    //B的使用,月份全称
    		    str=String.format(Locale.US,"英文月份全称:%tB",date);
    		    System.out.println(str);
    		    System.out.printf("本地月份全称:%tB%n",date);
    		    //a的使用,星期简称
    		    str=String.format(Locale.US,"英文星期的简称:%ta",date);
    		    System.out.println(str);
    		    //A的使用,星期全称
    		    System.out.printf("本地星期的简称:%tA%n",date);
    		    //C的使用,年前两位
    		    System.out.printf("年的前两位数字(不足两位前面补0):%tC%n",date);
    		    //y的使用,年后两位
    		    System.out.printf("年的后两位数字(不足两位前面补0):%ty%n",date);
    		    //j的使用,一年的天数
    		    System.out.printf("一年中的天数(即年的第几天):%tj%n",date);
    		    //m的使用,月份
    		    System.out.printf("两位数字的月份(不足两位前面补0):%tm%n",date);
    		    //d的使用,日(二位,不够补零)
    		    System.out.printf("两位数字的日(不足两位前面补0):%td%n",date);
    		    //e的使用,日(一位不补零)
    		    System.out.printf("月份的日(前面不补0):%te",date);
    		}
    

    输出结果:

    英文月份简称:Sep
    本地月份简称:九月
    英文月份全称:September
    本地月份全称:九月
    英文星期的简称:Mon
    本地星期的简称:星期一
    年的前两位数字(不足两位前面补0):20
    年的后两位数字(不足两位前面补0):12
    一年中的天数(即年的第几天):254
    两位数字的月份(不足两位前面补0):09
    两位数字的日(不足两位前面补0):10
    月份的日(前面不补0):10
    

    和日期格式转换符相比,时间格式的转换符要更多、更精确。它可以将时间格式化成时、分、秒甚至时毫秒等单位。格式化时间字符串的转换符如图所示

    转 换 符说 明示 例
    H2位数字24时制的小时(不足2位前面补0)15
    I2位数字12时制的小时(不足2位前面补0)03
    k2位数字24时制的小时(前面不补0)15
    l2位数字12时制的小时(前面不补0)3
    M2位数字的分钟(不足2位前面补0)03
    S2位数字的秒(不足2位前面补0)09
    L3位数字的毫秒(不足3位前面补0)015
    N9位数字的毫秒数(不足9位前面补0)562000000
    p小写字母的上午或下午标记中:下午 , 英:pm
    z相对于GMT的RFC822时区的偏移量+0800
    Z时区缩写字符串CST
    s1970-1-1 00:00:00 到现在所经过的秒数1193468128
    Q1970-1-1 00:00:00 到现在所经过的毫秒数1193468128984
    	public static void main(String[] args) {
    		Date date = new Date();
    		//H的使用
    		System.out.printf("2位数字24时制的小时(不足2位前面补0):%tH%n", date);
    		//I的使用
    		System.out.printf("2位数字12时制的小时(不足2位前面补0):%tI%n", date);
    		//k的使用
    		System.out.printf("2位数字24时制的小时(前面不补0):%tk%n", date);
    		//l的使用
    		System.out.printf("2位数字12时制的小时(前面不补0):%tl%n", date);
    		//M的使用
    		System.out.printf("2位数字的分钟(不足2位前面补0):%tM%n", date);
    		//S的使用
    		System.out.printf("2位数字的秒(不足2位前面补0):%tS%n", date);
    		//L的使用
    		System.out.printf("3位数字的毫秒(不足3位前面补0):%tL%n", date);
    		//N的使用
    		System.out.printf("9位数字的毫秒数(不足9位前面补0):%tN%n", date);
    		//p的使用
    		String str = String.format(Locale.US, "小写字母的上午或下午标记(英):%tp", date);
    		System.out.println(str); 
    		System.out.printf("小写字母的上午或下午标记(中):%tp%n", date);
    		//z的使用
    		System.out.printf("相对于GMT的RFC822时区的偏移量:%tz%n", date);
    		//Z的使用
    		System.out.printf("时区缩写字符串:%tZ%n", date);
    		//s的使用
    		System.out.printf("1970-1-1 00:00:00 到现在所经过的秒数:%ts%n", date);
    		//Q的使用
    		System.out.printf("1970-1-1 00:00:00 到现在所经过的毫秒数:%tQ%n", date);
    	}
    

    输出结果:

    2位数字24时制的小时(不足2位前面补0):11
    2位数字12时制的小时(不足2位前面补0):11
    2位数字24时制的小时(前面不补0):11
    2位数字12时制的小时(前面不补0):11
    2位数字的分钟(不足2位前面补0):03
    2位数字的秒(不足2位前面补0):52
    3位数字的毫秒(不足3位前面补0):773
    9位数字的毫秒数(不足9位前面补0):773000000
    小写字母的上午或下午标记():am
    小写字母的上午或下午标记(中):上午
    相对于GMT的RFC822时区的偏移量:+0800
    时区缩写字符串:CST
    1970-1-1 00:00:00 到现在所经过的秒数:1347246232
    1970-1-1 00:00:00 到现在所经过的毫秒数:1347246232773
    

    原文传送带:https://blog.csdn.net/lonely_fireworks/article/details/7962171/

    展开全文
  • Java格式化字符串格式化输出详解
  • Java字符串格式化 -- Format

    千次阅读 2022-02-22 16:56:08
    字符串格式化相当于将字符串按照指定的格式进行toString(),一般有两种形式: //使用指定的格式字符串和参数返回一个格式化字符串。 public static String format(String format, Object... args) { return new ...
  • 常规类型的格式化 ... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式
  • Java字符串格式化:数字前面加0

    万次阅读 2016-05-11 11:02:07
    今天获取到一个需求,要拼一个字符串格式类似于JY0001这种,而且还需要根据两个字符串后面数字的范围进行批量修改。如果将0001转换成int类型的对象,则系统将默认去掉前面的“0”。思考了一下,用下面的方法解决了...
  • java 格式化日期字符串

    千次阅读 2022-01-06 15:44:39
    1. 字符串转换为日期 public Date parseDate(String strDate,String pattern){ if(strDate==null || pattern==null || "".equals... throw new IllegalArgumentException("字符串或日期格式为空"); } Date d
  • Java字符串格式化详解

    万次阅读 2017-04-10 17:35:18
    Java 的 String 类中,可以使用 format() 方法格式化字符串,该方法有两种重载形式: String.format(String format, Object… args) 和 String.format(Locale locale, String format, Object… args) 。...
  • 一段实为xml但没有格式的字符串,存为text文本,通过java代码将字符串格式化为xml格式内容进行输出
  • 主要介绍了java & Android 格式化字符串详解的相关资料,需要的朋友可以参考下
  • String.format()的使用(Java字符串格式化

    万次阅读 多人点赞 2018-09-19 14:15:14
    当我们在开发中需要格式化时或者当一字符串中有某一部分是需要变化时,我们应该如何快速的进行处理呢?比如处理批量的url中www.xxx.com/s?index=后面需要带参数时。 JDK1.5开始String类中提供了一个非常有用的方法 ...
  • Java字符串模板格式化汇总8法(附性能对比) 结论: 1.循环中,不要用+进行字符串拼接,而用StringBuilder.append()方法 2.非循环中,字符串拼接使用+性能最高,其次是StringBuilder.append()方法 1. ++ ...
  • Java字符串格式化

    千次阅读 2016-10-15 01:49:04
    常规类型的格式化String类的format()方法用于创建格式化字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处
  • Java格式化字符串

    千次阅读 2019-08-02 15:49:12
    String类的静态format()方法用于创建格式化字符串。format()方法有两种重载形式。 (1)public static String format(String format, Object... args) 该方法使用指定的格式字符串和参数返回一个格式化字符串,...
  • JAVA字符串格式化-String.format()的使用

    万次阅读 多人点赞 2012-09-10 11:01:10
    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale
  • 本篇文章是对java字符串格式化输出进行了详细的分析介绍,需要的朋友参考下
  • java字符串转换为时间类型以及时间的格式化实例。时间的应用几乎是每个项目都要接触到的,也是每个java程序员所熟知的,但是不记得怎么使用也是无所谓的,我们可以查一下java api文档嘛!或者直接百度一下就可以了。...
  • Java字符串格式化和正则表达式

    千次阅读 2016-10-31 23:23:02
    1、在Java中,对字符串的操作主要集中在String,StringBuffer(StringBulider),StringTokenizer类; 2、String的不可改变性: (1)String对象具有只读特性,所以指向它的任何引用都无法改变它的值; (2)...
  • java字符串转换成日期格式

    千次阅读 2022-03-26 11:33:48
    https://zhuanlan.zhihu.com/p/270605705 https://www.cnblogs.com/yangming1996/p/6919191.html 三、获取当前日期 需求:获取当前日期(字符串类型)且格式为yyyy-MM-dd HH:mm:ss 代码如下: import java.text....
  • Java字符串格式化与输出

    万次阅读 2014-08-07 16:55:36
    Java字符串格式化与输出 在C语言中格式化输出可以通过printf()函数实现,在Java中无需借助第三方工具同样可以实现此功能,自Java SE5后,java也提供了C语言中printf()风格的格式化输出方法。目前,有三种方法实现...
  • java格式化输出与字符串格式化输入

    千次阅读 2018-11-15 17:56:04
    java格式化输出与字符串格式化输入 Java格式化输出  Java中可以使用System.out.print()将数值x输出到控制台上,在早期的java版本中,格式化输出数值曾经引发过争议,不过在javaSE5以后,引入了c语言中的格式化...
  • 一个使用java.util.Calendar,另一个使用Joda-Time,最后一个使用Java 8及更高版本中内置的java.time框架.java.time框架取代了旧的捆绑日期时间类,其灵感来自Joda-Time,由JSR 310定义,并由ThreeTen-Extra项目扩展....
  • java字符串占位符%s

    千次阅读 2022-01-16 12:50:07
    字符串占位符%s一、String.format二、MessageFormat.format 一、String.format 语法 : String.format(String format, Object… args); format:定义好的字符串 args:需要替换的字符 String format = String.format...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 421,061
精华内容 168,424
关键字:

java字符串格式化

java 订阅
友情链接: newton1032.zip