Java 日期格式 - 包括其他字符

2022-08-31 10:21:44

Java中是否有等效于php date()样式的格式设置?我的意思是,在php中,我可以反斜杠转义字符以使其按字面处理。即 yyyy \y\e\a\r 将成为 2010 年。我在Java中没有找到类似的东西,所有示例都只处理内置的日期格式。

特别是,我处理JCalendar日期选择器及其dateFormatString属性。

我需要它,因为在我的语言环境中,需要以日期格式编写各种附加内容,例如d.(表示day)在day之后的部分,m.(用于年)在年份之后的部分等等。在最坏的情况下,我可以使用字符串替换或正则表达式,但也许有更简单的方法?提前致谢!


答案 1

当然,使用SimpleDateFormat,您可以包含文本字符串:

在日期和时间模式字符串中,从“A”到“Z”以及从“a”到“z”的未加引号的字母被解释为表示日期或时间字符串组成部分的模式字母。可以使用单引号 (') 引用文本以避免解释。“''”表示单引号。所有其他字符均未被解释;它们只是在格式化期间复制到输出字符串中,或者在解析期间与输入字符串匹配。

 "hh 'o''clock' a, zzzz"    12 o'clock PM, Pacific Daylight Time

答案 2

为了完整起见,Java 8 还支持此功能:DateTimeFormatter

DateTimeFormatter.ofPattern("yyyy 'year'");