format()创建格式化字符串,format()方法有两种重载形式
String time ="202-4-14 22:25:55" ;
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式对应
Date date = format.parse(time); //转换格式
String yy = String.format("%tY", date);
String mm = Integer.valueOf(String.format("%tm", date)).toString(); //月份去零
String dd = String.format("%te", date);
dates = yy + "年" + mm + "月" + dd + "日";
System.out.println("组装日期:" + dates);
(1)format(String format,Object...args)使用指定的格式字符串和参数返回一个格式化字符串, 格式化后的新字符串使用本地默认的语言环境。
语法:str.format(String format,Object...args) format:格式字符串 args:格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。 此参数的数目是可变的,可以为0
(2)format(Local l,String format,Object...args) l为格式化过程中要应用的语言环境,如果l为null,则不进行本地化。
// 例子:
import java.util.Date;
public class Test3 {
public static void main(String[] args) {
Date date=new Date();
//日期格式化
String s1=String.format("%td",date);//一个月中的第几天
String s2=String.format("%ty",date);//2位年份
System.out.println(s1);//01-31
System.out.println(s2);//18
}
1.日期格式化
转换符 | s说明 | s示例 |
---|---|---|
%te | 一月中的某一天(1-31) | 6 |
%tb | 指定语言环境的月份简称 | Feb(英文),二月(中文) |
%tB | 指定语言环境的月份全称 | February(英文),二月(中文) |
%tA | 指定环境下星期几的全称 | Monday(英文),星期一(中文) |
%ta | 指定语言环境下星期几的简称 | Mon(英文),星期一(中文) |
%tc | 包括全部日期和时间信息 | x星期二 三月25 13:37:22 CST 2008 |
%tY | 4位年份 | 2008 |
%tj | 一年中的第几天(001-366) | 085 |
%tm | 月份 | 03 |
%td | 一个月中的第几天 | 01-31 |
%ty | 2位年份 | 08 |
2.时间格式化
转换符 | s说明 | s示例 |
---|---|---|
%tH | 2位数字24时制的小时(00-23) | 14 |
%tI | 2位数字12时制的小时(01-12) | 05 |
%tk | 2位数字24时制的小时(0-23) | 5 |
%td | 2位数字12时制的小时(1-12) | 10 |
%tM | 2位数字的分钟(00-59) | 12 |
%tS | 2位数字的秒数(00-60) | 5 |
%tL | 3位数字的毫秒数(000-999) | 920 |
%tN | 9位数字的微秒数(000000000-999999999) | 062000000 |
%tp | 指定语言环境下上午或下午标记 | x下午(中文)、pm(英文) |
%tz | 相对于 GMT RFC 82格式的数字时区偏移量 | +0800 |
%tZ | 时区缩写形式的字符串 | CST |
%ts | 1970-01-01 00:00:00到现在经过的秒数 | 1206426646 |
%tQ | 1970-01-01 00:00:00到现在经过的毫秒数 | 1206426738421 |
3.格式化常见的日期格式组合
转换符 | s说明 | s示例 |
---|---|---|
%tF | "年-月-日"格式(4位年份) | 2008-3-25 |
%tD | "年/月/日"格式(2位年份) | 03/25/2008 |
%tc | 全部日期和时间 | x星期二 三月 25 12:20:00 CST 2008 |
%er | "时:分:秒: PM(AM)"格式(12时制) | 03:22:06 下午 |
%tT | "时:分:秒"格式(24时制) | 15:23:53 |
%tR | "时:分"格式(24时制) | 15:23 |
34.常规类型格式化
转换符 | s说明 | s示例 |
---|---|---|
%b、%B | 结果格式化为布尔型 | true |
%h、%H | 结果被格式化为散列码 | A05A5198 |
%s、%S | 结果被格式化为字符串类型 | "abcd" |
%c、%C | 结果被格式化为字符类型 | 'a' |
%d | j结果被格式化为十进制整数 | 40 |
%o | 结果被格式化为八进制整数 | 11 |
%x、%X | j结果被格式化为十六进制整数 | 4b1 |
%e | 结果被格式化为计算机科学计数法表示的十进制浮点值 | 1.700000e+01 |
%a | 结果被格式化为带有效位数和指数的十六进制浮点值 | 0X1.C000000000001P4 |
%n | 结果为特定于平台的行分隔符 | |
%% | 结果为字面值“%” | % |