sách gpt4 ai đã đi

java - 如何将 am-pm-of-day 格式化为 "AM/PM"而不是 "a.m./p.m."?

In lại 作者:行者123 更新时间:2023-12-05 04:37:50 26 4
mua khóa gpt4 Nike

DateTimeFormatter's API reference似乎错过了正确格式化 am-pm-of-day 的细节,我总是可以使用 String.replace() 但我觉得将选项更改为 AM 和/或下午PM 使用“aaa...”。有办法做到这一点吗?

1 Câu trả lời

根据 CLDR 本地化

在格式化日期时间对象的文本表示时,有关大小写和缩写的决定留给本地化规则处理。这些规则被定义为 Locale 的一部分目的。在基于 OpenJDK 项目代码库构建的最新版本的 Java 中,Locale 类从 Common Locale Data Repository (CLDR) 获取其本地化数据。由 Unicode 联盟维护。

所以不,没有办法指定使用“AM”还是“a.m.”除了指定一个 Locale 对象与另一个对象。

ZonedDateTime zdt = ZonedDateTime.now( ZoneId.of( "Asia/Tokyo" ) ) ;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedTime( FormatStyle.MEDIUM ) ;
String outputCaFr = zdt.format( f.withLocale( Locale.CANADA_FRENCH ) ) ;
String outputUkEn = zdt.format( f.withLocale( Locale.UK) ) ;

如果您坚持使用特定格式,则必须自己进行字符串操作。但我建议让 Locale,DateTimeFormatter 和 CLDR 完成本地化工作,而不是硬编码琐碎的格式调整。

请注意,CLDR 以及 LocaleDateTimeFormatter 类都支持亚文化。如果更高层次的文化不符合您的期望,请探索 CLDR 的定义。一种亚文化可能包含您想要的本地化规则选择。

关于java - 如何将 am-pm-of-day 格式化为 "AM/PM"而不是 "a.m./p.m."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70660150/

26 4 0
Bài viết được đề xuất: typescript - 无法生成 Jest 覆盖率报告
Bài viết được đề xuất: javascript - 将 Node 加密 aes-256-cbc 转换为 CryptoJS
Bài viết được đề xuất: h.264 - gstreamer 的 h264parse 到底做了什么?
Bài viết được đề xuất: javascript - JS、Socket.io、Phaser3、未创建对象
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com