java.util.Date在解析字符串日期后返回falsy日期

时间:2015-06-03 15:05:04

标签: java java.util.date

我尝试格式化一个字符串,格式yyyy-MM-dd格式为dd-MM-yyyy的日期。这是我的代码:

String dateString = "1991-08-03";
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date date = sdf.parse(dateString);

System.out.println(date);
System.out.println(sdf.format(date));

我不知道问题出在哪里,但我得到了这个结果:

enter image description here

编辑:第2行(dd-MM-yyyy)中的日期格式错误,格式应与字符串(yyyy-MM-dd)匹配。 非常感谢@Luiggi Mendoza的回复:你应该把它存储为Date。 Date对象对格式一无所知,这就是为什么你使用一个单独的类来提供一个合适的格式来显示Date。

1 个答案:

答案 0 :(得分:-2)

String dateString = "1991-08-03";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date date = sdf.parse(dateString);
long time = date.getTime();
Date newDate = new Date(time);
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
System.out.println(formatter.format(newDate));