Java 如何将字符串转换为日期(不可解析的日期:“03062019”)

Java 如何将字符串转换为日期(不可解析的日期:“03062019”),java,Java,这个问题不是重复的,不要混淆它。它主要解决如何不能将字符串类型的变量存储在日期中,但可以在强制转换后对其进行格式化。另一个被标记为“重复”的答案是迷走神经,没有关联 我试图将字符串X=”“01021990”转换为数据类型日期,但每次存储它时,它都会给我一个无法转换的错误 这就是有效的方法: String date = "01062014"; DateFormat dateInput = new SimpleDateFormat("MMddyyyy"); DateForma

这个问题不是重复的,不要混淆它。它主要解决如何不能将字符串类型的变量存储在日期中,但可以在强制转换后对其进行格式化。另一个被标记为“重复”的答案是迷走神经,没有关联

我试图将
字符串X=”“01021990”
转换为数据类型日期,但每次存储它时,它都会给我一个无法转换的错误

这就是有效的方法:

    String date = "01062014";
    DateFormat dateInput = new SimpleDateFormat("MMddyyyy");
    DateFormat desireDate = new SimpleDateFormat("MM/dd/yyyy");


    System.out.println(desireDate.format((Date)dateInput.parse(date)));
DateFormat inputDate = new SimpleDateFormat("MMddyyyy");
DateFormat desireDateFormat = new SimpleDateFormat("MM/dd/yyyy");

Date xs = desireDateFormat.format((Date)inputDate.parse(date));
这是我正在尝试做的但不起作用的事情:

    String date = "01062014";
    DateFormat dateInput = new SimpleDateFormat("MMddyyyy");
    DateFormat desireDate = new SimpleDateFormat("MM/dd/yyyy");


    System.out.println(desireDate.format((Date)dateInput.parse(date)));
DateFormat inputDate = new SimpleDateFormat("MMddyyyy");
DateFormat desireDateFormat = new SimpleDateFormat("MM/dd/yyyy");

Date xs = desireDateFormat.format((Date)inputDate.parse(date));
但是,如果我只是打印它,它确实有效:

System.out.println(desireDateFormat.format((Date)inputDate.parse(date)));
但我试图将其存储到数据类型Date中,以便将其传递给构造函数

多谢各位

desireDateFormat.format((Date)inputDate.parse(date)) 

返回字符串。当然,您可以打印该字符串,但不能将
String
强制转换为
Date
这将起作用:
Date xs=inputDate.parse(Date)

我想做的是将它存储到一个日期变量中,不是吗?这会给我以下格式:
周一一月06日00:00:00美国东部时间2014
我想要这样:
MM/dd/yyyyy
您现在的日期是在xs变量中的。您以后可以用desireDateFormat.format(xs)格式打印它如果我想将其存储在文件中,或者将其传递给构造函数,该怎么办?如果你想将日期传递给构造函数,你可以使用xs变量,它的日期对象。日期对象不关心格式,你可以稍后再次使用DateFormat以你想要的方式打印它。你使用旧而繁琐的日期API而不是漂亮的日期对象,有什么具体原因吗w、 来自
java.time
的现代版?当我看到你接受了下面的答案,告诉你与链接问题中的答案完全相同时,你的借口为什么不是重复的可能重复是非常有趣的。你明白堆栈溢出上的“重复”功能甚至意味着什么吗?