Java如何转换字符串日期格式

问题描述 投票:-1回答:2

如何转换字符串日期格式示例我有这样的日期

2019-01-01

并将格式更改为

2019-01

年份和日期?

java date date-format
2个回答
4
投票

你可以像这样使用DateTimeFormatter

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
String result = formatter.format(LocalDate.parse("2019-01-01"));

结果应该是

2019-01

关于解析

您可以使用LocalDate.parse("2019-01-01"),因为默认情况下使用解析DateTimeFormatter.ISO_LOCAL_DATE,这与您的String的格式相同


public static LocalDate parse(CharSequence text) {
    return parse(text, DateTimeFormatter.ISO_LOCAL_DATE);
}

2
投票

tl;dr

YearMonth
.from(
    LocalDate.parse( "2019-01-01" )
)
.toString()

2019-01

YearMonth

我想你在最后一行意味着“年月”。如果是这样,请使用YearMonth类以及LocalDate

首先,如LocalDate所示解析correct Answer by guest

LocalDate ld = LocalDate.parse( "2019-01-01" ) ;

提取一个YearMonth对象来表示年份和月份。

YearMonth ym = YearMonth.from( ld ) ;

以标准ISO 8601格式生成表示此值的文本。

String output = ym.toString() ;

2019-01

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