📅  最后修改于: 2023-12-03 14:49:31.229000             🧑  作者: Mango
LocalDate 是 Java 8 新增的时间日期 API,它代表ISO-8601日历系统中的本地日期,没有时间和时区的组件。在某些情况下,我们需要获取 LocalDate 的指定格式,那么该怎么做呢?本文将介绍几种方法。
我们可以使用 DateTimeFormatter 类来设置指定的日期格式。DateTimeFormatter 有很多预定义的格式,也可以自定义格式。这里以自定义格式为例演示。
LocalDate date = LocalDate.now(); // 获取当前日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 自定义格式
String formattedDate = date.format(formatter); // 格式化日期
上面代码中的 "yyyy-MM-dd" 就是我们自定义的日期格式,包含年份、月份、日期,使用 '-' 分隔。
我们也可以使用 String.format() 方法来格式化 LocalDate。
LocalDate date = LocalDate.now(); // 获取当前日期
String formattedDate = String.format("%d-%02d-%02d", date.getYear(), date.getMonthValue(), date.getDayOfMonth());
上面的代码中将年份、月份和日期分别格式为十进制数,月份和日期使用 '%02d' 格式化,表示使用两位数字,位数不够时前面补零。
我们还可以使用 StringBuilder 来拼接字符串。
LocalDate date = LocalDate.now(); // 获取当前日期
StringBuilder formattedDateBuilder = new StringBuilder()
.append(date.getYear()).append("-")
.append(String.format("%02d", date.getMonthValue())).append("-")
.append(String.format("%02d", date.getDayOfMonth()));
String formattedDate = formattedDateBuilder.toString();
上面的代码中将年份、月份和日期分别添加到 StringBuilder 中,使用 String.format() 格式化月份和日期。
以上三种方法都可以用来获取 LocalDate 的指定格式,具体使用哪种方法取决于个人喜好和实际情况。如果需要对日期进行更多的处理,建议使用 DateTimeFormatter,因为它提供更多的方法来处理日期和时间。