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);