一.常规类型、字符类型和数值类型的格式说明符的语法如下:%[argument_index$][flags][width][.precision]conversion

可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1___FCKpd___0quot; 引用,第二个参数由 "2___FCKpd___0quot; 引用,依此类推。

可选的 flags 是修改输出格式的字符集。有效标志的集合取决于转换类型。

可选 width 是一个非负十进制整数,表明要向输出中写入的最少字符数。

可选 precision 是一个非负十进制整数,通常用来限制字符数。特定行为取决于转换类型。

所需的 conversion 是一个表明应该如何格式化参数的字符。给定参数的有效转换集合取决于参数的数据类型。

1.格式化一个整数,位数不够向前补0(\d整数只能长度为10位)

String.format("%010d",123)则会转换成0000000123

2.格式化一个浮点数,整数位不够向前补0,小数位不够向后补0

String.format("%010.3f", new BigDecimal(123.0)).replace(".",""));(注意如果整个长度为9位.则长度要填写10(因为有.号)

3.格式化一个字符串.位数不够向后补空白

String.format("%10s","abc")(注意该方法不能格式化中文)

格式化含中文的用以下方法:

String content="java格式化";

String blank="                                ";//一定长度空格

(content+blank).substring(0, 20- content.getBytes().length);

二.格式化日期(后缀字符是为 't' 和 'T' 转换定义)

String.format("%tY", new Date())    //2011

String.format("%tm", new Date())   //03

String.format("%tF", new Date())    //2011-03-04

String.format("%tR", new Date())   //15:49

String.format("%tT", new Date())   //15:49:34

String.format("%tc", new Date())   //星期五 三月 04 15:49:34 CST 2011

String.format("%tD", new Date())  //03/04/11

String.format("%td", new Date())   //04

以下转换字符用来格式化日期:
'B'     特定于语言环境的月份全称,例如 "January" 和 "February"。

'b'     特定于语言环境的月份简称,例如 "Jan" 和 "Feb"。

'h'     与 'b' 相同。

'A'     特定于语言环境的星期几全称,例如 "Sunday" 和 "Monday"

'a'     特定于语言环境的星期几简称,例如 "Sun" 和 "Mon"

'C'     除以 100 的四位数表示的年份,被格式化为必要时带前导零的两位数,即 00 - 99

'Y'     年份,被格式化为必要时带前导零的四位数(至少),例如,0092 等于格里高利历的 92 CE。

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

'j'     一年中的天数,被格式化为必要时带前导零的三位数,例如,对于格里高利历是 001 - 366。

'm'     月份,被格式化为必要时带前导零的两位数,即 01 - 13。

'd'     一个月中的天数,被格式化为必要时带前导零两位数,即 01 - 31

'e'     一个月中的天数,被格式化为两位数,即 1 - 31。
以下转换字符用于格式化常见的日期/时间组合。
'R'     24 小时制的时间,被格式化为 "%tH:%tM"

'T'     24 小时制的时间,被格式化为 "%tH:%tM:%tS"。

'r'     12 小时制的时间,被格式化为 "%tI:%tM:%tS %Tp"。上午或下午标记 ('%Tp') 的位置可能与语言环境有关。

'D'     日期,被格式化为 "%tm/%td/%ty"。

'F'     ISO 8601 格式的完整日期,被格式化为 "%tY-%tm-%td"。

'c'     日期和时间,被格式化为 "%ta %tb %td %tT %tZ %tY",例如 "Sun Jul 20 16:17:00 EDT 1969"。

String 的fomat方法日期转换的更多相关文章

  1. java笔记--String类格式化当天日期转换符文档

    String类格式化当天日期 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3877389.html "谢谢-- 转换符:% ...

  2. 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题

    项目里有些不同页面间的日期显示格式是不同的, 第一个问题: 比如我用日期控件WdatePicker.js导包后只需在input标签里加上onClick="WdatePicker()" ...

  3. JAVA中日期转换和日期计算的方法

    日期的格式有很多形式,在使用过程中经常需要转换,下面是各种类型转换的使用例子以及日期计算方法的例子. 一.不同格式日期相互转换方法 public class TestDateConvertUtil { ...

  4. excel转换日期格式,将yyyymmdd类型日期转换成yyyy-mm-dd等日期类型方法

    源数据日期格式:例如: 20160420 20160422 目标日期格式类型: 2016-4-20 2016-4-22 或 2016/04/20 2016/04/22 方法: 一.选中相应数据的单元格 ...

  5. String常用使用方法,1.创建string的常用3+1种方式,2.引用类型使用==比较地址值,3.String当中获取相关的常用方法,4.字符串的截取方法,5.String转换常用方法,6.切割字符串----java

    一个知识点使用一个代码块方便查看 1.创建string的常用3+1种方式 /* 创建string的常用3+1种方式 三种构造方法 public String():创建一个空字符串,不含有任何内容: p ...

  6. springMvc的日期转换之二

    方式一:使用@InitBinder注解实现日期转换 前台页面: 后台打印: 方式二:处理多种日期格式类型之间的转换 采用方式:由于binder.registerCustomEditor(Date.cl ...

  7. Struts2中Date日期转换的问题

      今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforC ...

  8. 使用DateUtils和DateFormatUtils处理时间日期转换与SimpleDateFormat的区别

    在Apache Commons项目的Lang里面,有两个类:DateUtils和DateFormatUtils,专门用于处理时间日期转换.它们在 org.apache.commons.lang.tim ...

  9. atitit.设计模式(1)--—职责链模式(chain of responsibility)最佳实践O7 日期转换

    atitit.设计模式(1)---职责链模式(chain of responsibility)最佳实践O7 日期转换 1. 需求:::日期转换 1 2. 可以选择的模式: 表格模式,责任链模式 1 3 ...

随机推荐

  1. Linux中的小括号和大括号,${}/$()/()/{}/${var:-string}/${var:=string}/${var:+string}/${var:?string}/${var%pattern}/${var#pattern}/${var%%pattern}/${var##pattern}

    简单记录一下大小括号在Linux中的用处. 1.${var},这是Linux中变量的原形.所以$var,别忘记了你的本来面目. # a= # echo $a # echo ${a} # echo ${ ...

  2. codechef AUG17 T4 Palindromic Game

    Palindromic Game Problem Code: PALINGAM There are two players A, B playing a game. Player A has a st ...

  3. .NET泛型编程 性能提升工具 List<T>

    原文发布时间为:2009-10-27 -- 来源于本人的百度文章 [由搬家工具导入] 结论  .NET 2.0中的泛型是强有力的,你写的代码不必限定于一特定类型,然而你的代码却能具有类型安全性。泛型的 ...

  4. [LeetCode] Balanced Binary Tree 深度搜索

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  5. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---16

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  6. Android新特性之CardView的简单使用

    Android新特性之CardView的简单使用 我们学习下Android5.0的新增加的控件CardView.首先我们了解一下CardView的基本使用,然后结合RecycleView使用CardV ...

  7. Codeforces Gym101522 D.Distribution of Days-算日期 (La Salle-Pui Ching Programming Challenge 培正喇沙編程挑戰賽 2017)

    D.Distribution of Days The Gregorian calendar is internationally the most widely used civil calendar ...

  8. Redis 批量删除Redis的key 正则匹配删除

    del 删除单个key方便 要是删除多个就不是很方便了 这时候可以使用xsrsg来批量删除 1.退出redis 2.匹配CCPAI:开头的所有key*删除 redis-cli -a 密码 -h hos ...

  9. CSU 1779: 错误的算法【矩阵/模拟】

    Description 有道题目是这样的: 输入一个 n 行 m 列网格,找一个格子,使得它所在的行和列中所有格子的数之和最大.如果答 案不唯一,输出任意解即可.比如,在下面的例子中,最优解是(1,3 ...

  10. webpack学习(一)安装和命令行、一次js/css的打包体验及不同版本错误

    一.前言 找了一个视频教程开始学习webpack,跟着视频学习,在自己的实际操作中发现,出现了很多问题.基本上都是因为版本的原因而导致,自己看的视频是基于webpack 1.x版,而自己现在早已是we ...