我正在尝试将此日期对象Fri Sep 21 08:00:00 SGT 2018
转换为这种格式yyyy-MM-dd hh:mm:ss
日期对象。
Date dt = sd1.parse(startTime);
logger.info(dt);
logger.info(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(dt.toString()));
第一个日志语句有效,它返回我Fri Sep 21 08:00:00 SGT 2018
,但第二个日志语句无效。
这使我出错
不可分割的日期2018年9月21日星期五08:00:00 SGT
我在这里做错了什么?我的最终目标是获得yyyy-MM-dd hh:mm:ss
格式的日期对象。
答案 0 :(得分:0)
首先,您必须使用以下命令正确解析日期:
new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy").parse("Fri Sep 21 08:00:00 SGT 2018");
所以这应该起作用:
Date newDate = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy").parse("Fri Sep 21 08:00:00 SGT 2018");
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SS");
String strDate = sdf.format(newDate.getTime());
System.out.println(strDate);
但是我建议您选择LocalDateTime
LocalDateTime ldt = LocalDateTime.parse("Fri Sep 21 08:00:00 SGT 2018", DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy"));
System.out.println(ldt.format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss.SS")));