-3

我正在尝试使用下面的代码在 java 中从 YYYY-MM-dd hh:mm:ss.ms 转换 dd-MM-yyyy 格式的日期,但我无法获得所需的值

 String dob = (new SimpleDateFormat("dd-MM-yyyy")).format(customerEntity.getDob().toString());

customerEntity.getDob().toString 为我提供了这个值 1987-06-12 00:00:00.0

但是当我将它解析为 String dob 时,它会产生 163-06-1987 作为输出,而我想要像 12-06-1987 这样的输出。

任何帮助都将不胜感激,在此先感谢

4

2 回答 2

1

format方法SimpleDateFormat以 aDate作为参数而不是 aString

public static void main(String[] args) {
 String dateStr = "29/12/2016";
 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
 try {
  Date date = sdf.parse(dateStr);
  sdf = new SimpleDateFormat("dd-MM-yyyy");
  System.out.println(sdf.format(date));
 } catch (ParseException e) {
  e.printStackTrace();
 }
}
于 2016-12-29T10:21:54.460 回答
0

尝试将您的字符串日期首先解析为日期格式。将该 Date 对象的传递以您希望输出的格式发布。

如下所示:

    Date dob = (new SimpleDateFormat("yyyy-MM-dd")).parse("1987-06-12 00:00:00.0");
    String dob1 = (new SimpleDateFormat("dd-MM-yyyy")).format(dob);
于 2016-12-29T10:18:34.633 回答