Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LocalDate.parse(不工作)_Java_Datetime Format_Localdate - Fatal编程技术网

Java LocalDate.parse(不工作)

Java LocalDate.parse(不工作),java,datetime-format,localdate,Java,Datetime Format,Localdate,求你了!我想了解为什么这个简单的LocalDate解析不起作用 我的DateFormatter可以工作(两种方式都可以),但是当我试图解析成一个新的LocalDate变量(使用相同的格式化程序)时,它不工作,我得到以下异常 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MMM-dd-yyyy"); LocalDate date = LocalDate.now(); String dateFormatted

求你了!我想了解为什么这个简单的LocalDate解析不起作用

我的DateFormatter可以工作(两种方式都可以),但是当我试图解析成一个新的LocalDate变量(使用相同的格式化程序)时,它不工作,我得到以下异常

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MMM-dd-yyyy"); 
LocalDate date = LocalDate.now();
String dateFormatted = date.format(dateTimeFormatter); 

System.out.println("Data formatted > " + dateFormatted); 
String dateFormatted1 = dateTimeFormatter.format(date); 
System.out.println("Data formatted  2> " + dateFormatted1); 

LocalDate dateParsed = LocalDate.parse(dateTimeFormatter.format(date));
System.out.println("Data parsed > " + dateParsed); 

LocalDate dateParsed2 = LocalDate.parse(dateFormatted, dateTimeFormatter); 
System.out.println("Data parsed 2 > " + dateParsed2);

///////////////////////例外情况//////////////////////////////

Caused by: java.time.format.DateTimeParseException: Text 'dez-11-2017' could not be parsed at index 0
    at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
    at java.time.LocalDate.parse(LocalDate.java:400)
    at java.time.LocalDate.parse(LocalDate.java:385)
    at hypercaos.AddController.initialize(AddController.java:74)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)*

让函数知道哪一个是格式化程序:

LocalDate dateParsed = LocalDate.parse(dateTimeFormatter.format(date), dateTimeFormatter);

当您在没有格式化程序的情况下进行解析时,LocalDate会将其理解为
yyyy-MM-dd
,您的字符串是
MMM-dd-yyyy

谢谢!成功了。事实上,我犯了一个错误。我认为这样做,我就可以捕获已经以MMM dd yyyy格式解析过的变量DATE(以便稍后在不进行LocalDate->String格式转换的情况下显示它)。但它所做的只是再次转到yyyy-MM-dd。非常感谢。Ps:很抱歉这个愚蠢的问题!!:-)