从一种格式更改为另一种格式的日期

我想解析从一种格式到另一种格式的日期,但得到解析异常。请帮我解决这个问题。从一种格式更改为另一种格式的日期

String Orgdate= "2016-11-14T11:12:13"; 

java.util.Date tardate = null;

SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd/mm/yyyy HH24:MI:SS");//Exception is in this line.

try {

targetdateformat = dateFormat2.parse(Orgdate);

} catch (ParseException e) {

e.printStackTrace();

}

上面的代码给我的日期,但不同的格式,我期待像下面提到的日期。

('14/11/2016 11:12:13') 

时间格式为24小时。

回答:

为什么不只是做一个简单的硬编码来获得你想要的格式。例如...

  String date = "2016-11-14T11:12:13"; 

String newDate = date.charAt(8) + "" + date.charAt(9) + "/" +

date.charAt(5) + "" + date.charAt(6) + "/" +

date.substring(0, 4) + " " + date.substring(11, 19);

System.out.println(newDate);

回答:

您需要parseDate然后format日期字符串,将其转换成另一种格式

String Orgdate= "2016-11-14T11:12:13"; 

java.util.Date tardate = null;

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

try {

tardate = dateFormat2.parse(Orgdate);

System.out.println(tardate); // Mon Nov 14 11:12:13 UTC 2016

} catch (ParseException e) {

e.printStackTrace();

}

String formatted = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(tardate);

System.out.println(formatted); 14/11/2016 11:12:13

如果您正在使用Java8你可以试试下面

LocalDateTime dateTime = LocalDateTime.parse("2016-11-14T11:12:13", DateTimeFormatter.ISO_LOCAL_DATE_TIME); 

String formattedDate = dateTime.format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss")); // 14/11/2016 11:12:13

回答:

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

Date a = sdf.parse("2016-08-12T08:29:47");

sdf.applyPattern("dd/MM/yyyy HH:mm:ss");

System.out.println(sdf.toPattern()); // to see if new pattern applied

System.out.println(sdf.format(a)); // get output in desired format

以上是 从一种格式更改为另一种格式的日期 的全部内容, 来源链接: utcz.com/qa/259590.html

回到顶部