问题描述
- 刚开始学习jawa,遇到这个问题,不明白,哪位大神解释下
- Exception in thread ""main"" java.lang.IllegalArgumentException: Too many pattern letters: W
at java.time.format.DateTimeFormatterBuilder.parsePattern(Unknown Source)
at java.time.format.DateTimeFormatterBuilder.appendPattern(Unknown Source)
at java.time.format.DateTimeFormatter.ofPattern(Unknown Source)
at ll.hehe.main(hehe.java:8)
解决方案
""dd/WW/uuuu""换成""HH:mm:ss""试试
解决方案二:
看报错信息是参数不正确,你能将你的代码发一下么,要不看不出你在哪里出的问题。
解决方案三:
从字面上看 参数异常 可能是给方法的参数传错了
解决方案四:
日期格式不是jvm识别的
解决方案五:
package ll;
import java.time.*;
import java.time.format.*;
public class hehe {
public static void main(String[] args){
LocalDateTime l=LocalDateTime.now();
DateTimeFormatter f=DateTimeFormatter.ofPattern(""dd/WW/uuuu"");
String str=l.format(f);
System.out.println(""时间""+str);
}
}
解决方案六:
https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
这网址有解释,大写W表示一个月有的周数,小写w表示一年的周数
感觉你输出的应该是日/月/年吧,不是日/周/年吧
解决方案七:
IllegalArgumentException不合法的参数异常。
再试试:
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(""yyyy MM dd"");
String text = date.format(formatter);
LocalDate parsedDate = LocalDate.parse(text formatter);