我想将日期值(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/