3

Java 的SimpleDateFormat用于将 Date 对象格式化为字符串。格式化程序支持各种模式字母,它们表示日期字段的文本表示。例如,yy是两个字母的年份、yyyy四个字母的年份和E星期几。

例如,SimpleDateFormat用 初始化的Ayyyy.MM.dd G 'at' HH:mm:ss z会将日期格式化为2001.07.04 AD at 12:08:56 PDT.

我想在 SimpleDateFormat 中添加一些模式字母。例如,想要C表示希伯来语工作日 ( יום ראשון, יום שני, ...)。

用这些新的模式字母扩展 SimpleDateFormat 的正确方法是什么?我能找到的唯一在线示例似乎有些复杂。我只能接受格式化,无需解析。

4

3 回答 3

4

E已经可以用来获取星期几。如果您希望它使用希伯来语,则使用希伯来语语言环境初始化 SimpleDateFormat 实例

于 2012-11-25T11:02:27.300 回答
1

据我所知,SDF 不是可扩展的,因此每个日历字段格式都被硬编码为一种方法:(。我要做的是创建一个包装器对象并检测特殊(由我处理的字符)和格式输出由我的拥有混合格式我会将格式划分为我的格式字符之前和之后的内容,并将它们传递给原始 SDF,然后将结果粘合在一起。

于 2012-11-25T11:02:16.103 回答
-1

java.time

现代DateTimeFormatter几年前被SimpleDateFormatJSR 310 取代。

研究该类 JavaDoc 以了解它的许多格式化代码。虽然与课程中使用的代码大体相似SimpleDateFormat,但也存在一些差异。

此类可以自动为您本地化。因此,您可能不需要定义任何格式模式。

如果您只想本地化星期几的名称,请使用DayOfWeek::getDisplayNamemethod.

于 2019-05-08T00:15:33.087 回答