我正在制作一个使用 API 的应用程序,该 API 提供带有时间戳的数据。 时间戳看起来像:
Jul 20, 2018
我想将字符串转换为日期。 我尝试使用此代码将字符串解析为日期。
DateFormat dateFormat = new SimpleDateFormat("MMM dd, yyyy", Locale.US);
Date date = dateFormat.parse("Jul 20, 2018");
但我什至无法编译我的代码。每次我尝试使用 dateformat.parse() 解析字符串时,都会出现以下编译错误:
java.text.ParseException
当鼠标悬停在代码中的 .parse() 上方时,这甚至会出现 我浏览了一整天并尝试了几种不同的方法,但每次我使用 .parse() 时都会遇到此错误。我真的不知道该怎么办了。
我还没有发布图片的权限,但是你可以在这里观看截图:/image/Jr7Ep.jpg
我正在使用 Java 8(支持 lambda 表示法)。我正在使用 androidx.legacy:legacy-support 库,最低 API 19 和目标 API 28。 (所以这个问题的解决方案也应该支持旧设备)
我尝试过但失败的其他事情:
Android, How can I Convert String to Date?
Cant convert String to date in android
How to convert "2017-04-26T20:55:00.000Z" string to a Date in java android studio
最佳答案
该错误告诉您,您正在调用的函数可能会引发特定异常,而您没有捕获它(dateFormat.parse(...)
可能会引发 ParseException
如果字符串无法解析则出错)。
尝试这样的事情
try {
DateFormat dateFormat = new SimpleDateFormat("MMM dd, yyyy", Locale.US);
Date date = dateFormat.parse("Jul 20, 2018");
}
catch(ParseException pe ) {
// handle the failure
}
关于java - android:如何将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51351300/