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

DateTimeFormatter-java。lang.IllegalArgumentException:太多的模式字母:a

笪健
2023-03-14

我有以下行在我的java代码,我试图格式化一个日期字符串

 ZonedDateTime zonedDateTime= ZonedDateTime.ofInstant(instant, tz);
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm aa");

 return zonedDateTime.format(formatter);

在第2行,我得到了这个错误:

java.lang.IllegalArgumentException: Too many pattern letters: a
at java.time.format.DateTimeFormatterBuilder.parseField(DateTimeFormatterBuilder.java:1774)

如何为DateTimeFormatter创建格式字符串。模式的将给出例如:

2023-04-21 7.00pm

暂时还没有答案

 类似资料:
  • 问题内容: 我注意到无法按预期解析。见下文: 只有最后一次尝试才会“通过”。按照文档,应该能够解析出文本格式。还要注意大写字母“ M”与小写字母“ m”的细微差别。 这真的很烦人,因为我默认情况下无法解析Oracle DB默认设置格式的字符串 同样,对于以下程序: 我得到以下输出: 显然,格式说明符不处理任何文本内容,对我而言似乎是数字… 但是,如果将Locale更改为,则会得到以下输出: 真的很

  • 只有对的最后一次尝试才会“通过”。根据文档,应该能够解析出文本格式。还要注意大写的'm'和小写的'm'之间的细微差别。 这真的很烦人,因为我无法在默认情况下解析出Oracle DB默认格式化的字符串 同样,对于以下程序: 我的问题是: 对我来说,期望每一个都能工作是合理的吗? 我们至少应该将其中一些作为bug提交吗? 我是否误解了模式说明符的用法。 引用文档中的一个部分,我称之为“它很重要”: 针

  • 运行下面列出的代码时,我看到以下错误: 线程“main”java中出现异常。时间总体安排DateTimeParseException:无法在java的索引4处分析文本“2017年9月21日星期四23:47:03 EDT”。时间总体安排DateTimeFormatter。java上的parseResolved0(未知源)。时间总体安排DateTimeFormatter。在java上解析(未知源)。时

  • Java的SimpleDateFormat用于将Date对象格式化为字符串。格式化程序支持各种模式字母,它们表示Date字段的文本表示。例如,是两个字母的年份,是四个字母的年份,是星期几。 例如,使用将日期格式化为。 我想在SimpleDataformat中添加一些模式字母。例如,想要表示希伯来语工作日(

  • 问题内容: 是否可以从Joda-Time DateTimeFormatter获取模式字符串? 问题答案: Joda Time无法提供从DateTimeFormatter获取原始模式的方法。原因之一可能是DateTimeFormatter不一定是从模式创建的。例如根本不使用模式。 但是,如果您始终使用模式,则可以包装该类以在构建时记录模式。这样,您以后可以使用简单的静态方法进行查找。例如: 然后,您

  • 类文档说明了该年的格式代码: u年2004年;04 2004年的y年;04 … Year:字母的计数确定最小字段宽度,在该宽度下使用填充。如果字母数为2,则使用缩减的两位数形式。对于打印,这输出最右边的两个数字。对于解析,这将使用2000的基值进行解析,导致一年在2000到2099(含2099)的范围内。如果字母计数少于四个(但不是两个),则符号仅输出负年份,如Signstyle.normal所示