gpt4 book ai didi

java - 带有适当数字后缀的 Joda DateTimeFormat

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:27 26 4
gpt4 key购买 nike

我需要以 Wednesday, January 9th 的形式打印一个 DateTime,其中日期会自动获得正确的后缀,例如1 月 2 日将是 1 月 2 日。我怎样才能得到执行此操作的 DateTimeFormatter

最佳答案

Joda 不支持此功能,但有一些限制,您可以使用 ICU library ,因为它包含用于格式化序号的本地化规则:

import com.ibm.icu.text.RuleBasedNumberFormat;
import com.ibm.icu.text.SimpleDateFormat;

...

SimpleDateFormat sdf =
new SimpleDateFormat("EEEE, MMMM d", Locale.ENGLISH);

sdf.setNumberFormat(
new RuleBasedNumberFormat(
Locale.ENGLISH, RuleBasedNumberFormat.ORDINAL));

System.out.println(sdf.format(new Date()));

请注意,您只能为 SimpleDateFormat 实例指定一个 NumberFormat 实例,因此这种方法仅在“日期”是日期模式中的唯一数字时才有效。将“yyyy”添加到日期模式将例如将年份格式化为“2,013th”。

ICU 类与标准 API 中的 Date 和 Calendar 类接口(interface),因此如果您真的必须首先使用 Joda,则必须从 Joda DateTime 实例创建一个 java.util.Date。

关于java - 带有适当数字后缀的 Joda DateTimeFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14238246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com