Android中的日期格式为AM_PM

时间:2016-03-29 13:20:35

标签: android

我需要以Tue, Mar 29, 2016, 6.50 PM格式显示日期和时间,我尝试了以下内容:

DateFormat dateFormat=new SimpleDateFormat("EEE, MMM dd, yyyy, h.mm a");   

但这会在Android中显示a.m.,但我需要AM

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:0)

首先将日期转换为字符串,而不是将a.m或p.m替换为AM或PM,如果string.contains a.m或p.m而不是替换它,则只需检查条件

答案 1 :(得分:0)

使用SimpleDateFormat

Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm aa");

String result = sdf.format(dt);

答案 2 :(得分:0)

您可以通过修复以下语言环境来实现此目的:

    SimpleDateFormat formatShort = new SimpleDateFormat("hh:mm aa", Locale.US);

如果你想要一个恒定的格式,那么你必须为简单的日期格式化应用一个特定的语言环境,否则它将默认选择设备当前的语言环境,你的格式将改变设备的基础。

答案 3 :(得分:0)

使用DateFormatSymbols将AM和PM字符串设置为您想要的任何内容,在您的情况下为全部大写。

SimpleDateFormat构造函数接受修改后的DateFormatSymbols对象作为参数。

    DateFormatSymbols symbols = new DateFormatSymbols();
    String[] modifiedAmPm = {"AM", "PM"};
    symbols.setAmPmStrings(modifiedAmPm);

    Date date = new Date();
    DateFormat formatter = new SimpleDateFormat("EEE, MMM dd, yyyy, h.mm a", symbols);
    String result = formatter.format(date);