我有以下日期"createdOn": "2022-01-25T11:21:03.607"
我希望它轉換為01-25-22
我正在使用以下格式
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").format(SimpleDateFormat("MM-dd-yyyy").parse("2022-01-25T11:21:03.607"))
我得到的輸出0193-06-01T00:00:00.000是完全錯誤的。
uj5u.com熱心網友回復:
tl;博士
LocalDateTime
.parse( "2022-01-25T11:21:03.607" )
.format(
DateTimeFormatter.ofPattern( "MM-dd-uu" )
)
java.time
使用現代java.time類。切勿使用可怕的遺產日期時間類,如SimpleDateFormat,Date和Calendar。
將您的輸入決議為LocalDateTime物件,因為它缺少時區的背景關系或與 UTC 的偏移量。
String input = "2022-01-25T11:21:03.607" ;
LocalDateTime ldt = LocalDateTime.parse( input ) ;
僅提取日期。
嚴格來說,你可以跳過這一步。如果您只想使用日期而不是時間進行進一步操作,我將展示此步驟。
LocalDate ld = ldt.toLocalDate() ;
指定您特定的所需格式。
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM-dd-uu" ) ;
生成該格式的文本。
String output = ld.format( f ) ;
Android 26 及更高版本中內置了java.time的實作。對于早期的 Android,大多數java.time功能都可以通過 ? API desugaring ? 使用最新工具。
uj5u.com熱心網友回復:
你把它弄反了,這對我有用:
new SimpleDateFormat("MM-dd-yyyy").format(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").parse("2022-01-25T11:21:03.607"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/421128.html
標籤:
上一篇:具有3種不同遞回方法的斐波那契
下一篇:列印字串中重復次數最多的單詞
