当前位置: 首页 > 知识库问答 >
问题:

DateTimeFormatter类执行DateTimeParseException

娄利
2023-03-14

我想要得到未来3个月的日期从输入日期在android设备。对于大于oreo的版本,我尝试使用DateTimeFormatter。但我得到了这个错误“java.time.format.DateTimeParseException:文本'28/5/2020'无法在索引0处解析

这是我的输入日期字符串=28/5/2020

   String datestring = edittext_enterServiceDate.getText().toString();
                String dd = datestring.substring(0, 2);
                String mm = datestring.substring(3, 4);
                String yyyy = datestring.substring(5, 9);
                String dateString = dd + "/" + mm + "/" + yyyy;
                LocalDate date = LocalDate.parse(dd + "/" + mm + "/" + yyyy);

                DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy");
                LocalDate  d1 = LocalDate.parse(dateString, df);

                LocalDate returnvalue
                        = d1.plusMonths(Integer.parseInt(monthList.get(position).getStateId()));
                edittext_nextServiceDate.setText(String.valueOf(returnvalue.toString()));

共有1个答案

伯丁雷
2023-03-14

在文档中:

number:如果字母数为1,则使用最小位数输出该值,且不加填充。

对日期字符串使用格式dd/m/yyyy。它将解析日期字符串,如28/5/202028/12/2020

DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/M/yyyy");
LocalDate  d1 = LocalDate.parse("28/5/2020", df);
LocalDate  d2 = LocalDate.parse("28/07/2020", df);
LocalDate  d3 = LocalDate.parse("28/12/2020", df);
 类似资料:
  • 电磁铁模块 快门线模块

  • 问题内容: 是乔达时间 类线程安全的?一旦从获得实例,是否可以由多个线程调用其各种解析方法?DateTimeFormatter的Javadocs没有提到线程安全性。 问题答案: 是的,它是: DateTimeFormat是线程安全的且不可变的,它返回的 格式化 程序也是如此。 等是Java的版本8 实现要求: 此类是不可变的并且是线程安全的。

  • 我对Java中的DateTimeFormatter有问题。 然而,我得到了这个错误: java.time.format.DateTimeParseException:无法分析文本“29/09/2016”:无法从TemporalAccessor:{}获取LocalDateTime,ISO解析为2016-09-29,类型为java.time.format.Parsed],根本原因为java.time.

  • 问题内容: 我有一个罐子,里面装有两个主要的A类和B类。在清单中,我提到了A类。现在,我必须从同一jar执行classB。命令应该是什么。 我不喜欢做两个单独的罐子。 谢谢 问题答案: 这将完成工作:

  • 我已经阅读了手册,我完全不知道为什么这段代码不能工作。 最后一行抛出异常:java.time.format.DateTimeParseException:无法解析文本“07/29/2015”:无法从TemporalAccessor获取LocalDate:{YearOfera=2015,DayOfMonth=29,MonthOfYear=7},类型为java.time.Format.Parsed的I

  • 我正在将并行执行引入我的testNG套件中。当我将“parallel”设置为“tests”时,两个浏览器打开,两个测试的第一个类同时开始--这是我所期望的。当我将其设置为“classes”时,我希望第一个测试中的两个类同时开始,但是只有一个浏览器打开,第一个类中的第一个方法执行,然后用第二个类中的第一个方法打开一个新的浏览器,依此类推。谁能告诉我我做错了什么? 下面是我的xml文件: