gpt4 book ai didi

java - Joda - DateTimeFormat - 根据默认区域设置切换 "MM"和 "dd"的位置

转载 作者:行者123 更新时间:2023-11-29 03:38:46 27 4
gpt4 key购买 nike

我有 LocalDate,我想打印日期,其中日/月为 2 位数字、完整年份和“-”作为分隔符。

当然我可以这样使用:

DateTimeFormatter dtf = DateTimeFormat.forPattern("dd-MM-yyyy");
dtf.print(localDate);

它显示:

17-09-2012
18-09-2012
19-09-2012

但这只适用于我的 Locale,其他的呢?例如美国应该是:

09-17-2012
09-18-2012
09-19-2012

如何做到这一点?

DateTimeFormatter dtf = DateTimeFormat.shortDate();

它自己切换日期和月份的位置。但它只打印:

(my locale):
17/9/12
18/9/12
19/9/12
(USA locale):
9/17/12
9/18/12
9/19/12

最佳答案

来自DateTimeFormatter API :

// print using the defaults (default locale, chronology/zone of the datetime)
String dateStr = formatter.print(dt);
// print using the French locale
String dateStr = formatter.withLocale(Locale.FRENCH).print(dt);
// print using the UTC zone
String dateStr = formatter.withZone(DateTimeZone.UTC).print(dt);

因此,您可以将 Locale 或 DateTimeZone 与 DateTimeFormatter 一起使用。

但是,由于设置了模式,输出仍然是相同的。

您可以使用样式来定义您的 DateTimeFormatter:

DateTimeFormatter dtf = DateTimeFormat.forStyle("M-");

并使用 Locale 打印它。

关于java - Joda - DateTimeFormat - 根据默认区域设置切换 "MM"和 "dd"的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14147000/

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