登录
首页 >  文章 >  java教程

Java日期时间格式化全攻略

时间:2026-02-07 20:03:47 333浏览 收藏

一分耕耘,一分收获!既然都打开这篇《Java格式化日期时间方法详解》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新文章相关的内容,希望对大家都有所帮助!

推荐使用Java 8的DateTimeFormatter格式化日期时间,配合LocalDateTime或ZonedDateTime实现安全高效输出,如yyyy-MM-dd HH:mm:ss;2. 传统SimpleDateFormat非线程安全,适用于旧版本。

在Java中如何格式化输出日期与时间

在Java中格式化输出日期与时间,常用的方式是使用 java.time 包中的类(Java 8 及以上推荐)或传统的 SimpleDateFormat。下面介绍几种实用的方法。

使用 DateTimeFormatter(推荐方式)

Java 8 引入了新的日期时间 API,位于 java.time 包中,配合 DateTimeFormatter 可以安全、高效地格式化日期时间。

  • LocalDateTime:表示本地日期时间,无时区信息
  • ZonedDateTime:包含时区的日期时间
  • DateTimeFormatter:用于定义输出格式

示例代码:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatted = now.format(formatter);
System.out.println(formatted); // 输出如:2025-04-05 14:30:22

常见格式化模式说明

通过 ofPattern() 方法自定义输出样式,常用符号包括:

  • yyyy:四位年份
  • MM:两位月份(01-12)
  • dd:两位日期(01-31)
  • HH:24小时制小时(00-23)
  • mm:分钟(00-59)
  • ss:秒数(00-59)
  • hh:12小时制小时(01-12)
  • a:上午/下午标记(AM/PM)

例如:

DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm")
// 输出:2025年04月05日 14:30

处理时区时间(ZonedDateTime)

如果需要显示带时区的时间,可以使用 ZonedDateTime

import java.time.ZonedDateTime;
import java.time.ZoneId;

ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss XXX");
System.out.println(zdt.format(formatter));
// 输出如:2025-04-05 14:30:22 +08:00

传统方式:SimpleDateFormat(适用于旧版本)

在 Java 8 之前,通常使用 SimpleDateFormatDate 类,但该类不是线程安全的,建议封装或使用 ThreadLocal

import java.text.SimpleDateFormat;
import java.util.Date;

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));

基本上就这些。推荐新项目使用 java.timeDateTimeFormatter,更清晰、更安全。根据实际需求选择合适的时间类型和格式模板即可。

以上就是《Java日期时间格式化全攻略》的详细内容,更多关于java,日期格式化的资料请关注golang学习网公众号!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>