我有字符串 s = "2023-12-15T10:13:44.544Z',我想使用 java11 单独提取日期部分。我们可以使用 java11 单独获取日期(yyyy-MM-dd)的最佳方法是什么。 我感谢您的帮助!
Instant
.parse( "2023-12-15T10:13:44.544Z" )
.atOffset( ZoneOffset.UTC )
.toLocalDate()
.toString()
或者:
"2023-12-15T10:13:44.544Z".substring( 0 , 10 )
使用 JSR 310 中定义的 java.time 类来处理所有日期时间工作。
输入字符串末尾的
Z
表示根据 ISO 8601 标准,与 UTC 的偏移量为零时-分-秒。
Instant
。
Instant instant = Instant.parse( "2023-12-15T10:13:44.544Z" ) ;
OffsetDateTime
类。
OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC ) ;
将仅日期部分提取为
LocalDate
。
LocalDate ld = odt.toLocalDate() ;
生成的文本为 ISO 8601 格式,YYYY-MM-DD。
String output = ld.toString() ;
或者更简单地说,只需剪掉日期部分之后的其余文本即可。
String output = "2023-12-15T10:13:44.544Z".substring( 0 , 10 ) ;
查看此代码在 Ideone.com 上运行。