在java中将字符串转换为日期时出错

时间:2014-04-15 03:38:39

标签: java date string-to-datetime

2014-04-23T18:30:00.000Z需要在java

中以此格式转换yyyy-MM-dd'T'hh:mm:sszzz

我正在使用此

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.zzzZ");
Date newfromDate = new Date();
try {
    //Convert into date 
    newfromDate = (Date)formatter.parse(fromDate);

    // get required Format of date in string format 
    SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:sszzz");
} catch (ParseException e) {
    e.printStackTrace();
}

但这不起作用

错误: - java.text.ParseException: Unparseable date: "2014-03-31T18:30:00.000Z"

1 个答案:

答案 0 :(得分:5)

试试这个

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX").parse(s);

或者

javax.xml.bind.DatatypeConverter.parseDateTime("2014-04-23T18:30:00.000Z");

最后一个版本应该更快(不需要解析模式)和线程安全