如何指定dateFormat元素并尊重当前区域设置规则?我知道我可以使用SimpleDateFormat
并指定我喜欢的格式 - 但它可能在不同的国家/地区是错误的。关于当前区域设置的自定义Android日期格式化
我试图掩盖DateFormat
的元素,但它仅接受短期,中期和LONG:
DateFormat dayMonth = DateFormat.getDateInstance(DateFormat.DAY_OF_WEEK_IN_MONTH_FIELD | DateFormat.MONTH_FIELD);
Caused by: java.lang.IllegalArgumentException: Illegal date style: 11
at java.text.DateFormat.checkDateStyle(DateFormat.java:843)
at java.text.DateFormat.getDateInstance(DateFormat.java:378)
我想获得“2016年10月”,或“RIJ 2016”。这可以实现:
DateFormat dayMonth = new SimpleDateFormat("MMM yyyy");
但我不想在我的应用程序中硬编码此格式。我只看到一种方式:把它放到strings.xml中,翻译者必须设置它。或者有更好的方法吗?
你有没有看着'LocalDateTime' - 也许这可能是SOM你在找什么?一个例子是:'LocalDateTime.parse(“2016-07-22”)' – ishmaelMakitla
有趣的类,但它的格式方法需要DateTimeFormatter作为参数 - 我们回到我的问题。 –
我明白了,DateTimeFormatter.ISO_LOCAL_DATE_TIME是什么呢,它的'format'方法需要'TemporalAccessor' - 可以是'LocalDateTime.parse(“2016-07-22”)'。 – ishmaelMakitla