gpt4 book ai didi

java - 显示日期范围的 I18N 友好方式是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 19:40:47 24 4
gpt4 key购买 nike

我显示的日期范围如下:

public static void main(String[] args) {
Locale.setDefault(new Locale("nl", "NL"));

DateTime d1 = new DateTime();
DateTime d2 = new DateTime().plusDays(30);

final String s1 = d1.toString(DateTimeFormat.shortDate());
final String s2 = d2.toString(DateTimeFormat.shortDate());

System.out.println(s1 + "-" + s2); // shows "4/05/12-3/06/12" for en_AU
System.out.println(s1 + "-" + s2); // shows "4-5-12-3-6-12" for nl_NL
}

对于荷兰用户,他们会看到“4-5-12-3-6-12”。这令人困惑。

有什么方法可以显示考虑用户区域设置的日期范围?

最佳答案

在本地化应用程序中,这种分离将由翻译人员在翻译您的资源包时决定:

#foo.properties
#comment: a date range
dateRange={0,date}-{1,date}

可能会变成:

#foo_en.properties
dateRange={0,date} to {1,date}

这可以使用 MessageFormat 来处理类型。形式的东西:

//untested code
MessageFormat mf = new MessageFormat(formatString, locale);
//java.util.Date instances
Object[] range = {date1, date2};
String result = mf.format(range);

即使您没有提供完整的翻译,这种方法也可能适用于某些本地化。

关于java - 显示日期范围的 I18N 友好方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449487/

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