gpt4 book ai didi

java - 如何为 DateFormat 的 getDateInstance() 配置模式

转载 作者:行者123 更新时间:2023-11-30 05:09:17 24 4
gpt4 key购买 nike

是否有任何方法可以配置 DateFormat 的 getDateInstance() 返回的字符串值的模式,对于每种样式 - 短、中、长和全?

例如,DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US)将始终返回类似 Jan 12, 1952 的值。我怎样才能返回 1952, Jan 12?

最佳答案

您可以使用 SimpleDateFormat 自定义您自己的日期格式.

    String formatted = new SimpleDateFormat("yyyy, MMM dd").format(new Date(52, 0, 12)); 
System.out.println(formatted); //prints "1952, Jan 12"

编辑

好的,如果您尝试覆盖某些特定的区域设置,您可以配置自己的 DateFormatProvider:

class CustomDateFormatProvider extends DateFormatProvider {
public DateFormat getDateInstance(int style, Locale locale) {
if ( style == DateFormat.MEDIUM && Locale.US.equals(locale) ) {
return new SimpleDateFormat("yyyy, MMM dd");
}
//else do default behaviour
}

//...
}

可以使用 Java 扩展机制来安装它。请参阅LocaleServiceProvider

如果这不是您正在寻找的内容,您应该在您的问题中添加一些实际要求。我已经回答了您提出的问题,但似乎还有一个您没有提出的问题,您仍在等待答案。

但显然这只会改变您专门覆盖的内容。

关于java - 如何为 DateFormat 的 getDateInstance() 配置模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4026874/

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