如何将日期字符串解析为Date?

喵 :

如何将下面的日期字符串解析为一个Date对象?

String target = "Thu Sep 28 20:29:30 JST 2000";
DateFormat df = new SimpleDateFormat("E MM dd kk:mm:ss z yyyy");
Date result =  df.parse(target);  

引发异常...

java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"
        at java.text.DateFormat.parse(DateFormat.java:337)
BalusC:

模式是错误的。您有3个字母的天的缩写,因此必须为EEE您有3个字母的月份缩写,因此必须为MMM由于这些日和月的缩写对语言环境敏感,因此您也希望将SimpleDateFormat语言环境明确指定为英语,否则它将使用平台默认语言环境,而语言环境本身可能不是英语。

public static void main(String[] args) throws Exception {
    String target = "Thu Sep 28 20:29:30 JST 2000";
    DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);
    Date result =  df.parse(target);  
    System.out.println(result);
}

这在这里打印

2000年9月28日星期四07:29:30

根据我的时区是正确的。

如果您不想使用HH代替,我也会重新考虑kk阅读javadoc以获取有关有效模式的详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章