使用simpledateformatter根据区域设置解析日期

时间:2018-03-27 10:55:19

标签: java date

我以这样的长格式获取日期: 2018年8月1日星期三

我想用以下格式: 2018年8月1日星期三

我使用了以下代码:

public static String getShortDate(Date date){
            SimpleDateFormat format = new SimpleDateFormat("E, MMM dd, yyyy");
            return format.format(date);
}

这适用于en_US。但是如何让它适用于其他语言环境

例如德语的长格式是:     Samstag,16。Juni 2018 如何获得上述短格式? getShortDate方法参数采用Date,但我可以将其更改为String。

如果更长的格式是:Samstag,16。Juni 2018 我需要它:Sa.,16。2018年6月

我使用以下代码:

SimpleDateFormat format = new SimpleDateFormat("E, dd MMM, yyyy", locale);
            return format.format(date);

这给我的输出为:Sa,2018年6月16日 如何在Sa

之后得到那个点(。)

1 个答案:

答案 0 :(得分:1)

要在不同的区域设置代码中获取短日期格式,您可以尝试以下代码:

SimpleDateFormat simpleDateFormat =
                new SimpleDateFormat("E, MMM dd, yyyy", new Locale("de", "de"));//for german germany
        String date = simpleDateFormat.format(new Date());

<强>输出:

  

Di,Mär27,2018