我有以下从 API 获得的日期2022-11-23 06:12:31
我想知道我的方法是否是最好的。
我需要以这种格式显示23 November 2022
我用来substringbefore删除时间部分,所以剩下以下内容:"2022-11-23"
我在用org.threeten.bp
val DAY_MONTH_YEAR_DISPLAY_FORMATTER =
DateTimeFormatter.ofPattern("dd MMMM yyyy").withZone(ZoneOffset.systemDefault())
fun formatAsFullMonthDisplayDate(localDateTime: String): String {
return try {
LocalDate.parse(localDateTime.substringBefore(" "), DAY_MONTH_YEAR_DISPLAY_FORMATTER).buildDate()
} catch (ignored: Exception) {
""
}
}
private fun LocalDate.buildDate(): String {
return buildString {
append(this@buildDate.dayOfMonth)
append(" ")
append(this@buildDate.month)
append(" ")
append(this@buildDate.year)
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
你可以试试这个:
val inputDate = "2022-11-23 06:12:31"
val outputFormat = "dd MMMM yyyy"
val inputFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val outputFormatter = DateTimeFormatter.ofPattern(outputFormat)
val date = LocalDateTime.parse(inputDate, inputFormat)
val formattedDate = date.format(outputFormatter)
println(formattedDate) // "23 November 2022"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
858 次 |
| 最近记录: |