1. public static void main(String[] args) {
  2.  
  3. /**
  4. * 格式化形式
  5. * %[argument_index$][flags][width][.precision]conversion
  6. *
  7. * argument_index: 可选,是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。
  8. *
  9. * flags: 可选,用来控制输出格式
  10. *
  11. * width: 可选,是一个正整数,表示输出的最小长度
  12. *
  13. * precision:可选,用来限定输出的精度
  14. *
  15. * conversion:必须,用来表示如何格式化参数的字符
  16. */
  17.  
  18. /**
  19. * argument_index$
  20. * %2$s 表示第二个参数输出字符串类型
  21. */
  22.  
  23. /**
  24. * flags是可选参数,用于控制输出的格式,比如左对齐、金额用逗号隔开。
  25. *
  26. * '-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
  27. * '+' 结果总是包括一个符号
  28. * ' ' 正值前加空格,负值前加负号
  29. * '0' 结果将用零来填充
  30. * ',' 每3位数字之间用“,”分隔(只适用于fgG的转换)
  31. * '(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)
  32. */
  33.  
  34. /**
  35. * width是可选参数,用于控制输出的宽度。
  36. * %5d %5s
  37. */
  38.  
  39. /**
  40. * precision是可选参数,用来限定输出的精度,用于浮点数。
  41. * %.5f
  42. */
  43.  
  44. /**
  45. * 各种 conversion
  46. *
  47. * %s 字符串类型 "mingrisoft"
  48. * %c 字符类型 'm'
  49. * %b 布尔类型 true
  50. * %d 整数类型 - 十进制 99
  51. * %x 整数类型 - 十六进制 FF
  52. * %o 整数类型 - 八进制 77
  53. * %f 浮点类型 99.99
  54. * %a 十六进制浮点类型 FF.35AE
  55. * %e 指数类型 9.38e+5
  56. * %g 通用浮点类型: f和e类型中较短的
  57. * %h 散列码
  58. * %% 百分比类型 %
  59. * %n 换行符
  60. * %tx 日期与时间类型(x代表不同的 <日期> 与 <时间> 转换符)
  61. *
  62. * 注: 日期时间的格式输出一般使用另外的库的相关类来构造, 不采用这种方式
  63. * 日期转换符
  64. *
  65. * c 包括全部日期和时间信息 星期六 十月 27 14:21:20 CST 2007
  66. * F “年-月-日”格式 2007-10-27
  67. * D “月/日/年”格式 10/27/07
  68. * r “HH:MM:SS PM”格式(12时制) 02:25:51 下午
  69. * T “HH:MM:SS”格式(24时制) 14:28:16
  70. * R “HH:MM”格式(24时制) 14:28
  71. * B/b/h 本地化显示月份字符串
  72. * A/a 本地化显示星期字符串
  73. * C 年份除以100的结果, 不足俩位补 0
  74. * Y/y 四位年份和2位年份
  75. * j 显示公历年的第几天
  76. * m 显示当前月份, 不足俩位前面补 0
  77. * d 当月的第几天, 不足俩位前面补 0
  78. * e 当月的第几天
  79. *
  80. * 时间格式的转换符要更多、更精确
  81. *
  82. * H 2位数字24时制的小时(不足2位前面补0) 15
  83. * I 2位数字12时制的小时(不足2位前面补0) 03
  84. *
  85. * k 2位数字24时制的小时(前面不补0) 15
  86. * l 2位数字12时制的小时(前面不补0) 3
  87. *
  88. * M 2位数字的分钟(不足2位前面补0) 03
  89. * S 2位数字的秒(不足2位前面补0) 09
  90. *
  91. * L 3位数字的毫秒(不足3位前面补0) 015
  92. * N 9位数字的毫秒数(不足9位前面补0) 562000000
  93. * p 小写字母的上午或下午标记 中:下午 英:pm
  94. * z 相对于GMT的RFC822时区的偏移量 +0800
  95. * Z 时区缩写字符串 CST
  96. * s 1970-1-1 00:00:00 到现在所经过的秒数 1193468128
  97. * Q 1970-1-1 00:00:00 到现在所经过的毫秒数 1193468128984
  98. */
  99.  
  100. // + 为正数或者负数添加符号
  101. // − 左对齐
  102. // 0 数字前补领0 - 右对齐宽度剩余
  103. System.out.printf("{%+-5d} - {%05d}%n", 12, 12);
  104.  
  105. // 宽度不够
  106. System.out.printf("{%+-5d} - {%015d}%n", 1111112, 11111112);
  107. String.format("'b':将参数格式化为boolean类型输出,'B'的效果相同,但结果中字母为大写。%b", false);
  108.  
  109. // 格式化参数引用
  110. System.out.printf("%2$s, %1$d %n", 99, "abc");
  111.  
  112. // 格式化日期
  113. Date date = new Date();
  114. System.out.printf("%1$tF %1$tT %n", date);
  115. System.out.println(String.format(Locale.US, "英文星期的简称:%ta", date));
  116. // System.out.printf("%tN%n", date);
  117. System.out.printf("%1$td%n", date);
  118. System.out.printf("%1$tm%n", date);
  119.  
  120. System.out.println("---------------------------------------------------------------------");
  121.  
  122. System.out.println(String.format("'B':本地化显示月份字符串,如:January、February"));
  123. System.out.println(String.format("'b':本地化显示月份字符串的缩写,如:Jan、Feb"));
  124. System.out.println(String.format("'h':本地化显示月份字符串的缩写,效果同'b'"));
  125.  
  126. Calendar calendar = Calendar.getInstance();
  127. System.out.println(String.format(Locale.US, "Locale.US 月份=%1$tB,缩写=%1$tb", calendar));
  128. System.out.println(String.format(Locale.CHINA, "Locale.CHINA 月份=%1$tB,缩写=%1$tb", calendar));
  129.  
  130. System.out.println(String.format("'A':本地化显示星期几字符串,如:Sunday、Monday"));
  131. System.out.println(String.format("'a':本地化显示星期几字符串的缩写,如:Sun、Mon"));
  132. System.out.println(String.format(Locale.US, "Locale.US 星期几=%1$tA,缩写=%1$ta", calendar));
  133. System.out.println(String.format(Locale.CHINA, "Locale.CHINA 星期几=%1$tA,缩写=%1$ta", calendar));
  134.  
  135. System.out.println(String.format("'C':年份除以100的结果,显示两位数,不足两位前面补0:%tC(范围:00-99)", calendar));
  136. System.out.println(String.format("'Y':显示四位数的年份,格利高里历,即公历。不足四位前面补0:%tY", calendar));
  137. System.out.println(String.format("'y':显示年份的后两位:%ty(范围:00-99)", calendar));
  138. System.out.println(String.format("'j':显示当前公历年的天数:第%tj天(范围:001-366)", calendar));
  139. System.out.println(String.format("'m':显示当前月份:%tm月(范围:01-13?怎么会有13个月?)", calendar));
  140. System.out.println(String.format("'d':显示是当前月的第几天,不足两位前面补0:%1$tm月第%1$td天(范围:01-31)", calendar));
  141. System.out.println(String.format("'e':显示是当前月的第几天:%1$tm月第%1$te天(范围:1-31)", calendar));
  142. }

  

【Java 笔记】 java 格式化输出的更多相关文章

  1. Java 笔记 —— java 和 javac

    Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...

  2. Java基础 -- 字符串(格式化输出、正则表达式)

    一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ...

  3. Java中中英文对齐输出问题,以及Java中的格式化输出

    一 中英文对齐输出问题 问题,要求控制台输出如下: abcefg  def 森林 阿狗 其实就是要求对齐输出,各种查找java的格式化输出,然后发现只要一个简单的“\t”就可以实现. 代码如下: Sy ...

  4. python学习笔记 | strftime()格式化输出时间

    time模块 import time t = time.strftime("%Y-%m-%d %H:%M:%S") print(t) datetime模块 import datet ...

  5. Object C学习笔记2-NSLog 格式化输出数据

    1 . 几种常用类型变量声明 int i =10; BOOL isShow=YES; BOOL isShow=1; float f = 3.1415926; char a =120; NSString ...

  6. java笔记——Java关键字static、final使用小结

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  7. Java笔记--Java的List、Iterator用法

    1. List的使用 准备知识: List继承自Collection接口.List是一种有序集合,List中的元素可以根据索引(顺序号:元素在集合中处于的位置信息)进行取得/删除/插入操作. 跟Set ...

  8. 菜鸡的Java笔记 java基础类库 BaseClassLibrary

    java基础类库 BaseClassLibrary        StringBuffer 类的特点        StringBuffer,StringBuilder,String 类之间的关系   ...

  9. 菜鸡的Java笔记 - java 双向一对多映射

    双向一对多映射    two-way    开发要求:        根据数据表的结构进行简单java类的转换:        要求实现如下的输出信息:            可以根据课程取得全部参与 ...

  10. 菜鸡的Java笔记 - java 多对多映射

    要求:    1.将数据还原为简单java类    2.数据的输出:        可以根据一个用户输出它对应的角色以及每个角色对应的权限,以及包含的具体的权限详情:        一个权限可以输出具 ...

随机推荐

  1. C#字符串中的中文逗号转英文逗号

    public static string ToDBC(string input) { char[] c = input.ToCharArray(); for (int i = 0; i < c. ...

  2. day-01mysql数据库下载安装卸载及基本操作

    MySQL5.5.40破解版地址(永久有效):链接:https://pan.baidu.com/s/1n-sODjoCdeSGP8bDGxl23Q 密码:qjjy 第2节 数据库的介绍 MySQL:开 ...

  3. SVN提交小结

    在我们用VS进行项目合作开发的过程中,SVN的提交控制是至关重要的,由于版本冲突造成的各种麻烦咱们已经遇到的够多了.所以,总结他们的经验教训,给我们也给其他人做个提醒.下面的第一部分是需要在正式开发之 ...

  4. jquery之Ajax(一)

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

  5. 基于jQuery的软键盘

    基于jQuery的软键盘   前些天写了一个基于基于jQuery的数字键盘,今天给大家带来一个基于jQuery的全字母键盘插件(支持全字母大小写切换,数字输入,退格清除,关闭功能,可调整大小和键盘位置 ...

  6. CefSharp F12打开DevTools查看console

    winform嵌入chrome浏览器,修改项目属性 生成 平台为x86 1.nuget安装cefsharp 2.实例化浏览器 private void Form1_Load(object sender ...

  7. JS 时间转化为几分钟前 几小时前 几天前

    背景:最近公司要做动态列表,类似于微信朋友圈.动态创建时间就需要显示为 刚刚.几分钟前.几小时前.几天前.2018-05-15,这样的形式. 代码如下 var minute = 1000 * 60; ...

  8. 多线程下载英文Google地图

    1. pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

  9. Vue 框架-04-计算属性

    Vue 框架-04-计算属性 计算属性是什么? 大家可以去看官网解释:计算属性和侦听器 今天的第一个小实例: 为啥先放折磨一个实例,之前数据绑定的就已经可以实现了,看起来那么简单,就是为了告诉大家,当 ...

  10. url override and HttpSession implements session

    背景 HttpSession默认使用Cookie存储Session ID,如果在用户禁用浏览器Cookie的功能后,仍打算运用HttpSession来进行会话管理,那么可以搭配URL重写来实现. 实现 ...