Kotlin DateTimeParseException [英] 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()
我在String处获取数据,然后将其转换为日期以进行格式化,然后将日期转换回以字符串形式显示在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 DateTimeParseException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!