一、日期格式化
常用的日期格式化转换符:
%te:一月中的某一天(1-31) 2
%tb:指定语言环境的月份简称 Feb或二月
%tB:指定语言环境的月份全称 February或二月
%tA:指定语言环境的星期几全称 Monday、星期一
%ta:指定语言环境的星期几简称 Mon、星期一
%tc: 包括全部日期和时间信息
%tY:4位年份 2023
%tj: 一年中的第几天(001-366) 085
%tm: 月份 03
%td: 一个月中的第几天(01-31) 02
%ty: 2位年份 23
示例代码如下:
import java.util.Date;
/**
* @author qx
* @date 2023/08/10
* @desc String格式化学习
*/
public class StringTest {
public static void main(String[] args) {
Date date = new Date();
// 输出 2023
System.out.println(String.format("%tY", date));
// 输出 六月
System.out.println(String.format("%tB", date));
// 输出 星期六
System.out.println(String.format("%tA", date));
// 输出 06
System.out.println(String.format("%tm", date));
}
}
二、时间格式化
常用的时间格式转换符:
%tH:2位数字的24小时制的小时(00-23) 14
%tI:2位数字的12小时制的小时(01-12) 10
%tK : 2位数字的24小时制的小时(0-23) 5
%ti: 2位数字的12小时制的小时(1-12) 10
%tM:2位数字的分钟数(00-59) 05
%tS: 2位数字的秒数(00-60) 12
%tZ: 时区缩写形式的字符串 CST
示例代码如下:
import java.util.Date;
/**
* @author qx
* @date 2023/08/10
* @desc String时间格式化学习
*/
public class StringTest {
public static void main(String[] args) {
Date date = new Date();
String hour = String.format("%tH", date);
String minute = String.format("%tM", date);
String second = String.format("%tS", date);
// 输出 现在是:15时35分33秒
System.out.println("现在是:" + hour + "时" + minute + "分" + second + "秒");
}
}
三、常见日期时间格式化
常用的日期时间格式转换符:
%tF: 年-月-日 格式(4位年份) 2023-06-10
%tD: 月/日/年格式(2位年份) 10/06/23
%tc: 全部日期和时间信息
%tT: 时:分:秒(24时制) 15:38:20
%tR: 时:分格式(24时制) 15:25
示例代码如下:
import java.util.Date;
/**
* @author qx
* @date 2023/08/10
* @desc String.format学习
*/
public class StringTest {
public static void main(String[] args) {
Date date = new Date();
// 输出 2023-08-11
System.out.println(String.format("%tF", date));
// 输出 17:50:11
System.out.println(String.format("%tT", date));
// 输出 星期五 八月 11 17:50:11 CST 2023
System.out.println(String.format("%tc", date));
}
}
四、常规类型格式化
%s、%S: 结果被格式化成字符串类型
%d: 结果被格式化为十进制整数
%n:结果为特定于平台的行分隔符
%b、%B: 结果被格式化位布尔类型
示例代码如下:
/**
* @author qx
* @date 2023/06/10
* @desc String.format学习
*/
public class StringTest {
public static void main(String[] args) {
// 输出 10
System.out.println(String.format("%d", 20 / 2));
// 输出 true
System.out.println(String.format("%b", 3 > 2));
// 输出 hello world
System.out.println(String.format("hello %s", "world"));
}
}
五、浮点数格式化
%b:布尔类型,格式化为字符串true或false
%n:平台独立的换行符
%f:浮点数类型(十进制)。显示9位有效数字,会进行四舍五入。
%a:浮点类型(十六进制)
%g:浮点类型(比%f,%a长度短些,显示6位有效数字,会进行四舍五入。
示例代码如下:
public class Demo {
public static void main(String[] args) {
double num = 123.4567899;
// 输出 123.456790
System.out.println(String.format("%f %n",num));
// 输出 123.457
System.out.println(String.format("%g %n",num));
// 输出 0x1.edd3c0bb46929p6
System.out.println(String.format("%a %n",num));
}
}