我想在Java中打印一个只包含月份和日期(没有年份)的日期。它必须是本地化的,所以它打印“2015年5月”是美国,而“2015년5월”在韩国(注意在美国,这个月是在月之后,但在韩国它来了;所以模式像“MMMM” yyyy“不工作”。
我不在乎使用任何特定的库。我正在使用JDK 7,我尝试过与Joda-Time合作没有成功。
答案 0 :(得分:0)
Java语言环境框架支持日常/时间,数字,货币等常见形式的国际化。对于日期/时间值,预定义格式集在Java Tutorial: Using Predefined Formats。
中描述不幸的是,“年月”并不是其中一种格式。
这只留下一个选项。编写代码以支持多种格式,并根据要渲染/显示的区域设置选择最合适的格式。用手。
思考。
我不能告诉你为什么Java SE不支持这个,但我怀疑它是两件事的结合:
很少有应用需要这个。 Java API设计人员是简约的...并且倾向于避免“膨胀”API,并支持仅为极少数应用程序提供便利的功能。
显示年/月的惯例是不固定的。例如,你说美国的会议是“2015年5月”,但在某些情况下,显示为“2015年5月”是可以接受甚至更可取的。面对这种流动性,我可以理解为什么Sun / Oracle工程师可能不想参与辩论。
话虽如此,可以提交RFE。 (如果你准备等待多年以获得积极的结果。)