Java将字符串中的日期转换为日期

时间:2016-11-23 03:29:16

标签: java simpledateformat

如何将此字符串“2016-10-08T01:00:00-07:00”转换为Java中的日期对象? 我想知道什么是与SimpleDateFormat一起使用的字符串格式。

我试过

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");

try {
  Date date = format.parse("2016-10-08T01:00:00-07:00");
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();

}

3 个答案:

答案 0 :(得分:3)

将格式从Z更改为X即可。细节是here

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");

答案 1 :(得分:0)

Date date = format.parse("2016-10-08T01:00:00-07:00");

应该是

Date date = format.parse("2016-10-08T01:00:00-0700");

时区不应使用冒号分隔小时和分钟。

答案 2 :(得分:0)

您可以尝试SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd'T'HH:mm:ssXXX”);

推荐@ Change date format in a Java string

的最佳解决方案