我正在尝试将日期从(ddmmyyyy HH:mm:ss)转换为(yyyy-MM-dd HH:mm:ss.SSS)格式。
下面是代码:
String startDate="06162019 00:00:00";
SimpleDateFormat inSDF = new SimpleDateFormat("ddmmyyyy HH:mm:ss");
SimpleDateFormat outSDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try{
String outDate = "";
Date date = inSDF.parse(startDate);
System.out.println(date);
outDate = outSDF.format(date);
System.out.println(outDate);
}catch (final Exception e) {
e.getMessage();
}
但是我得到了错误的结果:
Sun Jan 06 00:00:00 GMT 2019
2019-01-06 00:00:00.000
任何帮助,将不胜感激?
我假设您使用Java 8或更高版本。如果是这样,请丢下旧的,可怕的java.util.Date
,甚至更糟的是java.text.SimpleDateFormat
它们已经死了并被埋葬了。切换到使用java.time
包。为了解决您的问题,您需要执行以下操作:
String startDate="06162019 00:00:00";
DateTimeFormatter inSDF = DateTimeFormatter.ofPattern("MMddyyyy HH:mm:ss");
DateTimeFormatter outSDF = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
try{
System.out.println(outSDF.format(inSDF.parse(startDate)));
}catch (Exception e) {
e.getMessage();
}
2019-06-16 00:00:00.000
了解有关DateTimeFormatter的信息。您也可能会发现本文有趣:Java 8 java.time包:解析任何字符串到日期
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句