从 LocalDate 获取月份中的某一天(前导零)[重复]

问题描述 投票:0回答:1

我以类似

LocalDate dateOfBirthday = LocalDate.of(2000, 1, 1);
的格式获取日期。

我需要从该日期获取该月的日期。我使用

dateOfBirthday.getDayOfMonth()
,它可以工作并返回
1
,但我需要获得
01

我该怎么做?

java java-8 localdate
1个回答
14
投票

正如 Benjamin M 在评论中正确指出的那样,

01
将是一个字符串(而不是
int
)。将日期转换为字符串的正确方法是通过格式化程序。 编辑: 这个为您提供两位数的月份日期(01 到 31):

private static final DateTimeFormatter dayOfMonthFormatter
        = DateTimeFormatter.ofPattern("dd");

要将其与您的出生日期一起使用:

    LocalDate dateOfBirthday = LocalDate.of(2000, 1, 1);
    String twoDigitDayOfMonth = dateOfBirthday.format(dayOfMonthFormatter);
    System.out.println("Day of month: " + twoDigitDayOfMonth);

输出是:

月份中的某一天:01

原始答案: 这个给你一个两位数的月份——所以 01 代表 1 月,12 代表 12 月:

private static final DateTimeFormatter monthFormatter
        = DateTimeFormatter.ofPattern("MM");

要将其与您的出生日期一起使用:

    LocalDate dateOfBirthday = LocalDate.of(2000, 1, 1);
    String twoDigitMonth = dateOfBirthday.format(monthFormatter);
    System.out.println("Month: " + twoDigitMonth);

输出是:

月份:01

© www.soinside.com 2019 - 2024. All rights reserved.