Java中的日期格式转化

 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
原文地址:https://www.cnblogs.com/zyt-bg/p/8391948.html