我需要以Tue, Mar 29, 2016, 6.50 PM
格式显示日期和时间,我尝试了以下内容:
DateFormat dateFormat=new SimpleDateFormat("EEE, MMM dd, yyyy, h.mm a");
但这会在Android中显示a.m.
,但我需要AM
。
有人可以帮忙吗?
答案 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);