在 Java 中将日期从字符串转换为 int

Converting date from string to int in Java

我想将一串日期值(1 月 27 日)转换为 01/27。我知道我可以使用 SimpleDateFormat class 或创建一堆 if-else 语句来做到这一点,但我想知道是否有另一种方法可以在不使用 SimpleDateFormat class 或创建 if-else 的情况下转换它声明。

tl;博士

MonthDay
.parse(
    "January 27" ,
    DateTimeFormatter.ofPattern( "MMMM d").withLocale( Locale.US )
)
.format(
    DateTimeFormatter.ofPattern( "MM/dd") 
)

MonthDay

有一个class:MonthDay

解析标准 ISO 8601 字符串。

String input = "--01-23" ;
MonthDay monthDay = MonthDay.parse( input ) ;

以标准格式生成文本。

String output = MonthDay.toString() ;

对于您的自定义格式,使用 DateTimeFormatter class 定义自定义格式模式。

MonthDay md = MonthDay.parse( "--01-23" ) ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM/dd") ;
String output = md.format( f ) ;

01/23

看到这个code run live at IdeOne.com