Java LocalDate.parse(不工作)
求你了!我想了解为什么这个简单的LocalDate解析不起作用 我的DateFormatter可以工作(两种方式都可以),但是当我试图解析成一个新的LocalDate变量(使用相同的格式化程序)时,它不工作,我得到以下异常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
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:很抱歉这个愚蠢的问题!!:-)