SimpleDateFormat 创建1、构造方法1基本介绍默认构造方法使用默认格式和默认区域设置publicSimpleDateFormat()使用指定格式和默认区域设置publicSimpleDateFormat(Stringpattern)使用指定格式和指定区域设置publicSimpleDateFormat(Stringpattern,Localelocale)2参数说明pattern格式字符串由特定的字母组成每个字母代表一个日期或时间成分字母的大小写敏感常用字母如下字母说明y年M月d月中的天数H小时范围为 0 ~ 2324 小时制h小时范围为 1 ~ 1212 小时制m分钟s秒S毫秒E星期aAM / PM 标记aLocale区域设置用于指定国家 / 地区的语言和格式习惯例如Locale.US、Locale.CHINA3演示StringresultnewSimpleDateFormat().format(newDate());System.out.println(result);# 输出结果 2025/9/11 上午8:10StringresultnewSimpleDateFormat(yyyy-MM-dd EEE).format(newDate());System.out.println(result);# 输出结果 2025-09-11 周四StringresultnewSimpleDateFormat(yyyy-MM-dd EEE,Locale.US).format(newDate());System.out.println(result);# 输出结果 2025-09-11 Thu2、getDateInstance 方法1基本介绍获取一个专门用于格式化和解析日期部分年、月、日的 SimpleDateFormat 对象使用默认格式风格和默认区域设置publicstaticfinalDateFormatgetDateInstance()使用指定格式风格和默认区域设置publicstaticfinalDateFormatgetDateInstance(intstyle)使用指定格式风格和指定区域设置publicstaticfinalDateFormatgetDateInstance(intstyle,LocaleaLocale)2参数说明style格式化风格决定了日期显示的详细程度它是一个 int 常量定义在 DateFormat 类中常量说明DateFormat.FULL完整格式DateFormat.LONG长格式DateFormat.MEDIUM中等格式DateFormat.SHORT短格式aLocale区域设置用于指定国家 / 地区的语言和格式习惯例如Locale.US、Locale.CHINA3演示StringresultSimpleDateFormat.getDateInstance().format(newDate());System.out.println(result);# 输出结果 2025年9月10日DatedatenewDate();Stringresult1SimpleDateFormat.getDateInstance(SimpleDateFormat.FULL).format(date);Stringresult2SimpleDateFormat.getDateInstance(SimpleDateFormat.LONG).format(date);Stringresult3SimpleDateFormat.getDateInstance(SimpleDateFormat.MEDIUM).format(date);Stringresult4SimpleDateFormat.getDateInstance(SimpleDateFormat.SHORT).format(date);System.out.println(result1);System.out.println(result2);System.out.println(result3);System.out.println(result4);# 输出结果 2025年9月10日星期三 2025年9月10日 2025年9月10日 2025/9/10DatedatenewDate();Stringresult1SimpleDateFormat.getDateInstance(SimpleDateFormat.FULL,Locale.US).format(date);Stringresult2SimpleDateFormat.getDateInstance(SimpleDateFormat.LONG,Locale.US).format(date);Stringresult3SimpleDateFormat.getDateInstance(SimpleDateFormat.MEDIUM,Locale.US).format(date);Stringresult4SimpleDateFormat.getDateInstance(SimpleDateFormat.SHORT,Locale.US).format(date);System.out.println(result1);System.out.println(result2);System.out.println(result3);System.out.println(result4);# 输出结果 Wednesday, September 10, 2025 September 10, 2025 Sep 10, 2025 9/10/253、getTimeInstance 方法1基本介绍获取一个专门用于格式化和解析时间部分时、分、秒、时区的 SimpleDateFormat 对象使用默认格式风格和默认区域设置publicstaticfinalDateFormatgetTimeInstance()使用指定格式风格和默认区域设置publicstaticfinalDateFormatgetTimeInstance(intstyle)使用指定格式风格和指定区域设置publicstaticfinalDateFormatgetTimeInstance(intstyle,LocaleaLocale)2参数说明style格式化风格决定了时间显示的详细程度它是一个 int 常量定义在 DateFormat 类中常量说明DateFormat.FULL完整格式DateFormat.LONG长格式DateFormat.MEDIUM中等格式DateFormat.SHORT短格式aLocale区域设置用于指定国家 / 地区的语言和格式习惯例如Locale.US、Locale.CHINA3演示StringresultSimpleDateFormat.getTimeInstance().format(newDate());System.out.println(result);# 输出结果 下午9:01:34DatedatenewDate();Stringresult1SimpleDateFormat.getTimeInstance(SimpleDateFormat.FULL).format(date);Stringresult2SimpleDateFormat.getTimeInstance(SimpleDateFormat.LONG).format(date);Stringresult3SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM).format(date);Stringresult4SimpleDateFormat.getTimeInstance(SimpleDateFormat.SHORT).format(date);System.out.println(result1);System.out.println(result2);System.out.println(result3);System.out.println(result4);# 输出结果 中国标准时间 下午9:01:34 CST 下午9:01:34 下午9:01:34 下午9:01DatedatenewDate();Stringresult1SimpleDateFormat.getTimeInstance(SimpleDateFormat.FULL,Locale.US).format(date);Stringresult2SimpleDateFormat.getTimeInstance(SimpleDateFormat.LONG,Locale.US).format(date);Stringresult3SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM,Locale.US).format(date);Stringresult4SimpleDateFormat.getTimeInstance(SimpleDateFormat.SHORT,Locale.US).format(date);System.out.println(result1);System.out.println(result2);System.out.println(result3);System.out.println(result4);# 输出结果 9:01:34 PM China Standard Time 9:01:34 PM CST 9:01:34 PM 9:01 PM4、getDateTimeInstance 方法1基本介绍获取一个专门用于格式化和解析日期时间部分的 SimpleDateFormat 对象使用默认日期时间格式风格和默认区域设置publicstaticfinalDateFormatgetDateTimeInstance()使用指定日期时间格式风格和默认区域设置publicstaticfinalDateFormatgetDateTimeInstance(intdateStyle,inttimeStyle,LocaleaLocale)使用指定日期时间格式风格和指定区域设置2参数说明dateStyle、timeStyle格式化风格决定了日期时间显示的详细程度它是一个 int 常量定义在 DateFormat 类中常量说明DateFormat.FULL完整格式DateFormat.LONG长格式DateFormat.MEDIUM中等格式DateFormat.SHORT短格式aLocale区域设置用于指定国家 / 地区的语言和格式习惯例如Locale.US、Locale.CHINA3演示StringresultSimpleDateFormat.getDateTimeInstance().format(newDate());System.out.println(result);# 输出结果 2025年9月10日 下午9:01:34DatedatenewDate();Stringresult1SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.FULL,SimpleDateFormat.FULL).format(date);Stringresult2SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.LONG,SimpleDateFormat.LONG).format(date);Stringresult3SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.MEDIUM,SimpleDateFormat.MEDIUM).format(date);Stringresult4SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT,SimpleDateFormat.SHORT).format(date);System.out.println(result1);System.out.println(result2);System.out.println(result3);System.out.println(result4);# 输出结果 2025年9月10日星期三 中国标准时间 下午9:01:34 2025年9月10日 CST 下午9:01:34 2025年9月10日 下午9:01:34 2025/9/10 下午9:01DatedatenewDate();Stringresult1SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.FULL,SimpleDateFormat.FULL,Locale.US).format(date);Stringresult2SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.LONG,SimpleDateFormat.LONG,Locale.US).format(date);Stringresult3SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.MEDIUM,SimpleDateFormat.MEDIUM,Locale.US).format(date);Stringresult4SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT,SimpleDateFormat.SHORT,Locale.US).format(date);System.out.println(result1);System.out.println(result2);System.out.println(result3);System.out.println(result4);# 输出结果 Wednesday, September 10, 2025 at 9:01:34 PM China Standard Time September 10, 2025 at 9:01:34 PM CST Sep 10, 2025, 9:01:34 PM 9/10/25, 9:01 PMJava 日期时间 API 推荐1、基本介绍常用类对应关系旧版新版java.util.Datejava.time.Instantjava.util.Calendarjava.time.LocalDatejava.time.LocalTimejava.time.LocalDateTimejava.text.SimpleDateFormatjava.time.format.DateTimeFormatterjava.sql.Datejava.sql.Timejava.sql.Timestamp直接使用java.time.LocalDatejava.time.LocalTimejava.time.LocalDateTime配合 JDBC 4.2新版日期时间 API 不可变、线程安全、语义清晰2、演示InstantInstantinstantInstant.now();LocalDate、LocalTime、LocalDateTimeLocalDatedateLocalDate.now();LocalTimetimeLocalTime.now();LocalDateTimedateTimeLocalDateTime.now();// 指定值LocalDatedateLocalDate.of(2026,5,11);LocalTimetimeLocalTime.of(14,30,25);LocalDateTimedateTimeLocalDateTime.of(2026,5,11,14,30,25);DateTimeFormatter// 格式化LocalDateTimedateTimeLocalDateTime.now();DateTimeFormatterformatterDateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss);StringstrdateTime.format(formatter);System.out.println(str);// 解析DateTimeFormatterformatterDateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss);LocalDateTimeparsedLocalDateTime.parse(2026-05-11 14:30:25,formatter);System.out.println(parsed);