构建支持不同Locales的Java应用程序,但希望自定义DateFormat显示超出FULL,LONG,MEDIUM和SHORT DateFormat选项之间的可用范围.想要做一些事情,比如在DateFormat.getDateTimeFormat()的日期和时间组件之间放置一个字符,小写AM/PM等,至少为英语.
可以想到3种方法:
1)如果locale是english,请在新的SimpleDateFormat对象上使用我的自定义格式字符串.
2)修改现有语言环境的默认格式字符串
3)创建一个新的语言环境变体,指定我想要的格式字符串
无法弄清楚如何做2或3(或者如果它甚至可能),并且宁愿不做1 ...有没有人之前处理过这样的事情?
此外,似乎需要2或3来降低AM/PM?(为语言环境的dateformat设置指定AmPmMarkers资源)
我有时间格式(yyyy-mm-ddTHH:mm + 0:0000)..我需要将这种格式转换为mm-dd-yyyy hh:mm am/pm使用java程序...任何人帮我做这个...提前...
我有一个非常特殊的问题,我想在哪里解析"2019-12-25T17:00:00-05:00"
,以便它可以给我结果DEC 12 | Thursday | 5:00pm
我通过使用DateTimeFormatter和尝试了以下代码LocalDate
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssz", Locale.US);
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("MM d | E | hh:mm a", Locale.US);
LocalDate date = LocalDate.parse("2019-12-25T17:00:00-05:00", inputFormatter);
String formattedDate = outputFormatter.format(date);
contentTextView.setText(formattedDate);
Run Code Online (Sandbox Code Playgroud)
但是它崩溃了 DateTimeParseException: Text '2019-12-25T17:00:00-05:00' could not be parsed at index 19
知道为什么会崩溃以及我的输出是否可以提供预期的结果吗?谢谢!
我有一个字符串,其中包含以下时间和日期格式:"2013年12月13日20:24:50"如何将其更改为此格式"星期五,2013年12月13日下午8:24"?我使用Java作为我的语言.