我遇到了一个问题,我知道我们可以使用SimpleDateFormat
类或java中的其他格式类来格式化日期/时间。但我正在尝试使用 Formatter
类方法 format
格式化时间和日期。那可能吗?如果是,那怎么可能?
LocalDate date = LocalDate.now();
Formatter formatter = new Formatter();
formatter.format("%tm/%td/%ty", date);
System.out.println(formatter);
我得到java.util.MissingFormatArgumentException:格式说明符“%td”
。
最佳答案
您有三 (3) 个格式说明符( %tm
、 %td
和 %ty
),因此 format()
除了格式字符串之外,还立即需要三个参数。你只给了一个。
解决方案是不重复相同的论点。有两种方法可以告诉format()
再次使用相同的参数。
一种方法,给出显式参数索引,从 1 开始:
formatter.format("%1$tm/%1$td/%1$ty", date);
输出:
09/10/21
换句话说,一个<
告诉format()
再次使用相同的参数:
formatter.format("%tm/%<td/%<ty", date);
输出是相同的。
关于java - 使用 java 中的 Formatter 类格式化日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69126787/