以前沒有怎麼處理過時間參數。都是拿別人的直接用的。最近寫了一個demo,決定好好搞定出這個。首先給出一個字串,然後我們來看看怎麼解析它。和按照一個的格式輸出時間
public class DateUtil { public static void main(String[] args) throws ParseException { String time = "2011-09-08T17:52:37.513842 -0700"; /** * 年-月-日'T'小時:分鐘:秒.毫秒 時區 * yyyy-MM-dd'T'HH:mm:ss.SSSSSS Z */ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS Z"); Date date1 =format.parse(time); System.out.println("date1: "+date1); Date date2 = new Date(); System.out.println(format.format(date2));
/* 臨時添加,下面沒有寫結果的 */
String time1 = "Wed, 13-Jan-2013 06:34:50 GMT";
SimpleDateFormat format = new SimpleDateFormat("EEE, dd-MMM-yyyy hh:mm:ss z");
Date date1 =format.parse(time1);
System.out.println("date1:"+date1);
}}
輸出為:
date1: Fri Sep 09 09:01:10 CST 20112012-06-13T15:16:01.000137 +0800
| 字母 |
日期或時間元素 |
表示 |
樣本 |
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 |
z |
時區 |
General time zone |
Pacific Standard Time; PST; GMT-08:00 |
Z |
時區 |
RFC 822 time zone |
-0800 |