Kotlin 日期时间解析异常 [英] Kotlin DateTimeParseException
问题描述
从 https://api.spacexdata.com/v3/launches 获取日期该日期的格式为:2006-03-25T10:30:00+12:00.我想将其转换为dd、mm、yyyy",但总是出现错误:java.time.format.DateTimeParseException: 无法解析文本 '2006-03-25T10:30:00+12:00',在索引 10 处找到未解析的文本"
Getting date from https://api.spacexdata.com/v3/launches This date have format: 2006-03-25T10:30:00+12:00. I want convert it to "dd, mm, yyyy", but always getting error: "java.time.format.DateTimeParseException: Text '2006-03-25T10:30:00+12:00' could not be parsed, unparsed text found at index 10"
我的代码:
val formatter = DateTimeFormatter.ofPattern("dd, mm, yyyy", Locale.US)
val myDate = LocalDate.parse(launchDate, formatter)
var launchDateConverted: String= myDate.toString()
我在字符串中获取数据,然后将其转换为日期以进行格式化,然后将日期转换回要在 UI 上显示的字符串.我使用了不同的方法,但找不到正确的方法.我当前的语言环境是RU".
i getting data at String, then i convert it to date for formatting, and after i converting date back to string thats to display at UI. i used different methods, but cannot find the correct way. My current locale is "RU".
推荐答案
- 您的格式化程序与输入格式不匹配.基本上你需要两个格式化程序:一个用于输入,一个用于输出.
- 格式dd,mm,yyyy"错误:mm 代表小时的分钟,而不是月份.您应该使用dd、MM、yyyy".
val launchDate = "2006-03-25T10:30:00+12:00"
val inputFormatter = DateTimeFormatter.ISO_DATE_TIME
val myDate = LocalDate.parse(launchDate, inputFormatter)
val outputFormatter = DateTimeFormatter.ofPattern("dd, MM, yyyy", Locale.US)
println(outputFormatter.format(myDate))
这篇关于Kotlin 日期时间解析异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!