在Android中使用SimpleDateFormat解析日期字符串时,出现以下错误发生:
java.text.ParseException: Unparseable date: "24 Oct 2016 7:31 pm" (at offset 3)
要解决该错误,在使用 SimpleDateFormat 时显式指定区域设置至关重要。这可确保根据语言环境的约定正确解释日期格式。
此外,强烈建议切换到现代 Java 8 日期和时间 API,它提供改进的功能并消除过时的潜在问题像 SimpleDateFormat 这样的 API。
对于自定义日期格式,应使用 DateTimeFormatter 而不是 SimpleDateFormat。它提供不区分大小写的解析,支持多种语言环境,整体上更加灵活。
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { String strDateTime = "24 Oct 2016 7:31 pm"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM uuuu h:m a", Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf); System.out.println(ldt); } }
默认语言环境在解析时可能会出现问题日期,因为它们根据系统的区域设置而变化。为了避免这些问题,请始终明确指定所需的区域设置。
以上是在 Android 中解析日期时如何修复 java.text.ParseException?的详细内容。更多信息请关注PHP中文网其他相关文章!