我想将日期值(1月27日)的字符串转换为01/27。我知道我可以使用SimpleDateFormat类或创建一堆if-else语句来做到这一点,但是我想知道是否存在另一种无需使用SimpleDateFormat类或创建if-else语句即可进行转换的方法。

最佳答案

tl; dr

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


MonthDay

有一个用于的类:MonthDay

解析标准的ISO 8601字符串。

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


生成标准格式的文本。

String output = MonthDay.toString() ;


对于您的自定义格式,请使用DateTimeFormatter类定义一个自定义格式设置模式。

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

关于java - 在Java中将日期从字符串转换为int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59259454/

10-09 18:54