1 package lianxi; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 public class date { 8 9 public static void main(String[] args) 10 { 11 Date date = new Date(); 12 SimpleDateFormat sdf = new SimpleDateFormat(" yyyy-MM-dd E a hh:mm:ss zzz");// 年-月-日 星期几 上、下午 时:分:秒 时区 13 14 System.out.println(sdf.format(date));// 2018-01-31 星期三 下午 01:45:58 CST 15 /** 16 * 将年月日的日期格式转化为日期date格式 17 */ 18 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); //年月日的格式 19 String input = 20 "1998-04-19"; 21 try { 22 Date date1 = sdf1.parse(input); 23 System.out.printf("%tF%n",date1);//1998-04-19 %tF是年月日格式 24 25 System.out.println(input);//1998-04-19 26 System.out.println(date1); //Sun Apr 19 00:00:00 CST 1998 27 } catch 28 (ParseException e) { 29 e.printStackTrace(); 30 } 31 32 33 //日期格式的另一种使用方法 ,用printf格式化日期。使用两个字母的格式,它以%t开头并以c,f,d.r,T,R中的一个字母结尾 34 //c的使用 35 System.out.printf("全部日期和时间信息:%tc%n",date); 36 //f的使用 37 System.out.printf("年-月-日格式:%tF%n",date); 38 //d的使用 39 System.out.printf("月/日/年格式:%tD%n",date); 40 //r的使用 41 System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date); 42 //t的使用 43 System.out.printf("HH:MM:SS格式(24时制):%tT%n",date); 44 //R的使用 45 System.out.printf("HH:MM格式(24时制):%tR",date); 46 } 47 48 }
System.out.printf()方法可以对日期做处理输出。
对应列表
转换符 | 类型 | 举例 |
c | 完整的日期和时间 | Mon Feb 09 18:05:11 PST 2004 |
F | ISO 8061日期 | 2004-02-09 |
D | 美国格式的日期 | 02/09/2004 |
T | 24小时时间 | 18:03:23 |
r | 12小时时间 | 05:03:23 pm |
R | 24小时时间没有秒 | 18:05 |
Y | 4位数字的年(前面补0) | 2004 |
y | 年的后两位数字(前面补0) | 04 |
C | 年的前两位数字(前面补0) | 20 |
B | 月的完整拼写 | February |
b或h | 月的缩写 | Feb |
m | 两位数字的月(前面补0) | 02 |
d | 两位数字的日(前面补0) | 09 |
e | 两位数字的月(前面不补0) | 9 |
A | 星期几的完整拼写 | Monday |
a | 星期几的缩写 | Mon |
j | 三位数的年中的日子(前面补0),在001到366之间 | 069 |
H | 两位数字的小时(前面补0),在0到23之间 | 18 |
k | 两位数字的小时(前面不补0)在0到23之间 | 8 |
I(大写的i) | 两位数字的小时(前面补0),在0到12之间 | 06 |
l(小写的L) | 两位数字的小时(前面不补0),在0到12之间 | 6 |
M | 两位数字的分钟(前面补0) | 05 |
S | 两位数字的秒(前面补0) | 19 |
L | 三位数字的毫秒(前面补0) | 047 |
N | 九位数字的毫微秒(前面补0) | 047000000 |
P | 上午或者下午的大写标志 | PM |
p | 上午或者下午的小写标志 | pm |
z | 从GMT起,RFC822数字移位 | -0800 |
Z | 时区 | PST |
s | 从格林威治时间1970-01-01 00:00:00起的秒数 | 107884319 |
Q | 从格林威治时间1970-01-01 00:00:01起的毫秒数 | 107884319047 |