【发布时间】:2018-02-15 12:09:07
【问题描述】:
我正在尝试解析日期并转换为Timestamp。
在 Android 6 上它可以工作,但在 Android 7 上它会引发异常。 谁能告诉我如何解决它?
private long getCorrectDate(String date) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss 'GMT'Z (z)");
Date parsedDate = null;
try {
Logger.e("PARSE DATE : "+date);
parsedDate = dateFormat.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
Logger.e("" + date + " TO " + timestamp.getTime());
return timestamp.getTime();
}
java.text.ParseException:无法解析的日期:“2018 年 2 月 15 日星期四 10:55:55 GMT+0000 (UTC)"
【问题讨论】:
-
我不认为你搜索任何东西?
-
你的 SimpleDateFormat 没有指定
Locale,所以它使用系统默认值,而不是Locale.ENGLISH -
请显示解析日期的日志
-
顺便考虑一下扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。
标签: java android date simpledateformat datetime-parsing