以前没有怎么处理过时间参数。都是拿别人的直接用的。最近写了一个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 2011 2012-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 |