在Java开发中,Java日期时间格式化是一个非常常见的需求。无论是日志记录、用户界面显示,还是数据存储与交换,我们都需要将日期时间以特定格式展示或解析。本教程将带你从基础到进阶,全面掌握Java中的日期时间格式化方法,即使是编程小白也能轻松上手!
计算机内部通常以毫秒数(自1970年1月1日以来的毫秒数)表示时间,但人类更习惯阅读如“2024-06-15 14:30:00”这样的格式。因此,我们需要将时间对象转换为可读字符串(格式化),或将字符串解析为时间对象(解析)。
SimpleDateFormat 是 Java 早期版本中用于日期格式化的经典类,属于 java.text 包。
import java.text.SimpleDateFormat;import java.util.Date;public class DateFormatExample { public static void main(String[] args) { Date now = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDate = formatter.format(now); System.out.println("格式化后的时间: " + formattedDate); // 输出示例:2024-06-15 14:30:45 }} import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateParseExample { public static void main(String[] args) { String dateString = "2024-06-15 14:30:45"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date date = formatter.parse(dateString); System.out.println("解析后的时间: " + date); } catch (ParseException e) { e.printStackTrace(); } }} ⚠️ 注意:SimpleDateFormat 不是线程安全的,在多线程环境中使用需格外小心。
Java 8 引入了全新的日期时间 API(java.time 包),其中 DateTimeFormatter 是线程安全且功能强大的格式化工具,是现代 Java 开发中处理 Java时间处理 的首选。
import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;public class NewDateFormatExample { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); // 使用预定义格式 String formatted = now.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME); System.out.println("ISO格式: " + formatted); // 输出示例:2024-06-15T14:30:45.123 }} import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;public class CustomFormatExample { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒"); String formatted = now.format(formatter); System.out.println("自定义格式: " + formatted); // 输出示例:2024年06月15日 14时30分45秒 }} import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;public class ParseNewDateExample { public static void main(String[] args) { String dateString = "2024-06-15 14:30:45"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter); System.out.println("解析后的时间: " + dateTime); }} ✅ 优点:DateTimeFormatter 是不可变的,因此是线程安全的,性能也更好。
| 符号 | 含义 |
|---|---|
| yyyy | 四位年份(如:2024) |
| MM | 两位月份(01-12) |
| dd | 两位日期(01-31) |
| HH | 24小时制小时(00-23) |
| mm | 分钟(00-59) |
| ss | 秒(00-59) |
- 如果你使用的是 Java 8 或更高版本,强烈推荐使用 DateTimeFormatter 进行 Java日期时间格式化,它更安全、更现代。
- 对于旧项目仍在使用 Java 7 及以下版本,可以继续使用 SimpleDateFormat,但要注意线程安全问题。
- 掌握 DateTimeFormatter 和 SimpleDateFormat 的基本用法,能让你在各种 Java时间处理 场景中游刃有余。
希望这篇教程能帮助你彻底掌握 Java 中的日期时间格式化技巧!动手试试吧~
本文由主机测评网于2025-12-08发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025124724.html