JAVA中日期和时间的格式化选项

时间:2022-06-22 22:52:13

一、使用printf方法

 import java.util.Date;
import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.printf("%tc"+"\n",new Date());//完整格式
System.out.printf("%tF"+"\n",new Date());//ISO
System.out.printf("%tD"+"\n",new Date());//美式
System.out.printf("%tT"+"\n",new Date());//24小时时间
System.out.printf("%tr"+"\n",new Date());//12小时时间
System.out.printf("%tR"+"\n",new Date());//24小时时间没有秒
System.out.printf("%tY"+"\n",new Date());//四位数字的年
System.out.printf("%tB"+"\n",new Date());//月的完整拼写
System.out.printf("%tb"+"\n",new Date());//月的缩写b/h
System.out.printf("%tm"+"\n",new Date());//两位数字的月(前面补0)
System.out.printf("%te"+"\n",new Date());//两位数字的日(前面不补0)
System.out.printf("%td"+"\n",new Date());//两位数字的日(前面补0)
System.out.printf("%tA"+"\n",new Date());//星期几的完整拼写
System.out.printf("%ta"+"\n",new Date());//星期几的缩写
System.out.printf("%tj"+"\n",new Date());//3位数的年中的日子(前面补0)
System.out.printf("%tH"+"\n",new Date());//两位数的小时(24小时制,前面补0)
System.out.printf("%tk"+"\n",new Date());//两位数的小时(24小时制,前面不补0)
System.out.printf("%tI"+"\n",new Date());//两位数的小时(12小时制,前面补0)
System.out.printf("%tl"+"\n",new Date());//两位数的小时(12小时制,前面不补0)
System.out.printf("%tM"+"\n",new Date());//两位数字的分钟(前面补0)
System.out.printf("%tS"+"\n",new Date());//两位数字的秒(前面补0)
System.out.printf("%tL"+"\n",new Date());//三位数字的毫秒(前面补0)
System.out.printf("%tN"+"\n",new Date());//九位数字的毫微秒(前面补0)
}
}

二、使用SimpleDateFormat类

字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
       
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
import java.text.SimpleDateFormat;
import java.util.Date; public class Collections { public static void main(String[] args) { Date date = new Date(); //分配 Date 对象并初始化此对象
//用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat
SimpleDateFormat date1 = new SimpleDateFormat("yyyy-MM-dd a HH:mm E");
String str =date1.format(date);
System.out.println(str);
} }