您的位置:首页 > 其它

使用SimpleDateFormat顺利解析日期

2012-04-18 16:48 323 查看
异常:

java.text.ParseException: Unparseable date: "Tue Nov 22 00:00:00 GMT 2011"

解析日期的要点:

1. 对照下表与解析目标字符串写出对应pattern

字母日期或时间元素表示示例
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
使用SimpleDateFormat进行解析

翻阅api查到SimpleDateFormat中有一个重载的构造

SimpleDateFormat(String pattern, Locale locale)


用给定的模式和给定语言环境的默认日期格式符号构造
SimpleDateFormat


String dateStr = "Tue Nov 22 00:00:00 GMT 2011";
String pattern = "EEE MMM dd HH:mm:ss z yyyy";
DateFormat format = new SimpleDateFormat(pattern, Locale.US);
System.out.println(format.parse(str));


改良一下之前的代码就可以顺利解析了

注:pattern一定要正确,和自己的日期对应,还要设置正确的Locale
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: