用java如何表示中文的日期

用java如何表示中文的日期

作者:Joshua Lee发布时间:2026-02-27阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在Java中格式化输出带有中文的日期?

我想在Java程序中输出类似“2024年6月27日”这样的中文日期格式,该如何实现?

A

使用SimpleDateFormat类自定义中文日期格式

可以使用Java中的SimpleDateFormat类来定义日期格式,格式字符串中包含中文字符。例如,可以使用"yyyy年MM月dd日"作为格式字符串,这样输出的日期就会显示为中文格式的日期。示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String formattedDate = sdf.format(new Date());
System.out.println(formattedDate);

Q
Java中如何设置日期显示为中文星期几?

我想让Java输出的日期中包含中文的星期几名称,例如“星期一”,有什么方法实现?

A

通过SimpleDateFormat配合Locale或自定义星期名称实现中文星期几

SimpleDateFormat默认使用英文星期格式,可以通过设置Locale为中文简体来获取中文星期。例如:

SimpleDateFormat sdf = new SimpleDateFormat("EEEE", Locale.CHINA);
String dayOfWeek = sdf.format(new Date());
System.out.println(dayOfWeek); // 输出:星期一

如果想自定义星期名称,也可以手动映射数字对应的中文星期称呼,然后替换显示。

Q
是否可以使用Java 8的新日期时间API来表示中文日期?

Java 8引入了新的日期时间API,如何用它来表示带中文格式的日期?

A

使用DateTimeFormatter结合中文Locale格式化日期

Java 8的DateTimeFormatter类支持更丰富的格式化操作。可以通过指定格式模式和Locale.CHINA来格式化日期成中文样式。示例代码如下:

LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 EEEE", Locale.CHINA);
String formattedDate = date.format(formatter);
System.out.println(formattedDate); // 输出类似:2024年6月27日 星期四