今天遇到一个需要把 Wed Mar 01 10:47:12 CST 2017 这种类型的字符串转化为 Java 的 Date 对象,我参照 SimpleDateFormat 类中的说明,直接写了下面的 代码:
private static final String DATE_FORMAT = "EEE MMM dd HH:mm:ss z yyyy";
new SimpleDateFormat(DATE_FORMAT).parse("Wed Mar 01 10:47:12 CST 2017");
但一直报下面的异常:
Unparseable date: Wed Mar 01 10:47:12 CST 2017
根据以往经验,出这种问题,一般都是 Locale 出问题了,然后,我就机智的试了一下 Locale.US ,果然是可以的:
new SimpleDateFormat(DATE_FORMAT, Locale.US).parse("Wed Mar 01 10:47:12 CST 2017");
PS: Locale.ENGLISH 也是可以的。其他的我没有试,不过,应该支持英文的 Locale 应该都是可以的。