首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleDateFormat解析7+上的异常

SimpleDateFormat解析7+上的异常
EN

Stack Overflow用户
提问于 2018-02-15 12:09:07
回答 1查看 429关注 0票数 0

我正试图解析一个日期并转换为一个Timestamp

在Android 6上,它可以工作,但是在Android 7上,它会抛出一个异常。有谁能告诉我怎么修吗?

代码语言:javascript
复制
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 GMT+0000 (UTC)”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 13:35:15

输入有一周和一个月的英文名称,所以您需要指定一个java.util.Locale

如果您创建一个没有区域设置的SimpleDateFormat,它将使用设备的默认设置。只有在默认值已经是英语的情况下,您的代码才能工作,否则需要指定它:

代码语言:javascript
复制
// use Locale.US or Locale.ENGLISH, I think both will work
SimpleDateFormat dateFormat =
    new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss 'GMT'Z (z)", Locale.US);

实际上,如果您确定输入始终是英语的,请使用相应的区域设置,而不是依赖默认值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48806948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档