2 liuxw88888 liuxw88888 于 2016.03.23 17:43 提问

刚开始学习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)

7个回答

xiaowanyingxioing
xiaowanyingxioing   2016.03.23 18:09
已采纳

"dd/WW/uuuu"换成"HH:mm:ss"试试

liuxw88888
liuxw88888 谢谢了,解决了
一年多之前 回复
daidaineteasy
daidaineteasy   Ds   Rxr 2016.03.23 17:48

看报错信息是参数不正确,你能将你的代码发一下么,要不看不出你在哪里出的问题。

liuxw88888
liuxw88888 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); } }
一年多之前 回复
Bush_nanjing
Bush_nanjing   2016.03.23 17:49

从字面上看 参数异常 可能是给方法的参数传错了

kaka20099527
kaka20099527   2016.03.23 17:57

日期格式不是jvm识别的

liuxw88888
liuxw88888   2016.03.23 17:58

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

}

}

u013000246
u013000246   2016.03.23 18:21

https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
这网址有解释,大写W表示一个月有的周数,小写w表示一年的周数
感觉你输出的应该是日/月/年吧,不是日/周/年吧

antime1
antime1   2016.03.23 18:28

IllegalArgumentException不合法的参数异常。
再试试:
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MM dd");
String text = date.format(formatter);
LocalDate parsedDate = LocalDate.parse(text, formatter);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!