代码之家  ›  专栏  ›  技术社区  ›  user2060733

特定地区的Android分析异常

  •  -3
  • user2060733  · 技术社区  · 7 年前

    我正在尝试在Android上设置日期格式,但遇到了“无法解析的日期”,但只适用于某些地区。为每个区域设置尝试相同的日期。用英语可以很好地工作,但在我将设备切换到DE时失败。

    下面是我的代码:

    Locale locale = mContext.getResources().getConfiguration().locale;
    String dateStr = "07 Mar 2018";
    SimpleDateFormat parser = new SimpleDateFormat("dd MMM yyyy", locale);
    Date thedate = parser.parse(dateStr);
    SimpleDateFormat formatter = new SimpleDateFormat("dd MMM", locale);
    String dateStrReformatted = formatter.format(thedate);
    

    我已尝试指定当前区域设置,但没有效果。有人能告诉我我做错了什么吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Rajan Kali    7 年前

    问题是您正在尝试分析 date 它总是用英语作为

    String dateStr = "07 Mar 2018";
    

    因此,在解析时,您可以使用英语作为区域设置 日期 并用您喜欢的语言格式化

    String dateStr = "07 Mar 2018";
    SimpleDateFormat parser = new SimpleDateFormat("dd MMM yyyy", Locale.ENGLISH);
    Date englishDate = parser.parse(dateStr);
    

    获取本地格式 string 对于以上内容 日期 使用

    Locale locale = mContext.getResources().getConfiguration().locale;
    SimpleDateFormat formatter = new SimpleDateFormat("dd MMM", locale);
    String dateStrReformatted = formatter.format(englishDate);