一 获取DateTimeFormatter对象的三种方式
- 直接使用静态常量创建DateTimeFormatter格式器
- 使用代码不同风格的枚举值来创建DateTimeFormatter格式器
- 根据模式字符串来创建DateTimeFormatter格式器
二 DateTimeFormatter完成格式化
1 代码示例
import java.time.*; import java.time.format.*; public class NewFormatterTest { public static void main(String[] args) { DateTimeFormatter[] formatters = new DateTimeFormatter[]{ // 直接使用常量创建DateTimeFormatter格式器 DateTimeFormatter.ISO_LOCAL_DATE, DateTimeFormatter.ISO_LOCAL_TIME, DateTimeFormatter.ISO_LOCAL_DATE_TIME, // 使用本地化的不同风格来创建DateTimeFormatter格式器 DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.MEDIUM), DateTimeFormatter.ofLocalizedTime(FormatStyle.LONG), // 根据模式字符串来创建DateTimeFormatter格式器 DateTimeFormatter.ofPattern("Gyyyy%%MMM%%dd HH:mm:ss") }; LocalDateTime date = LocalDateTime.now(); // 依次使用不同的格式器对LocalDateTime进行格式化 for(int i = 0 ; i < formatters.length ; i++) { // 下面两行代码的作用相同 System.out.println(date.format(formatters[i])); System.out.println(formatters[i].format(date)); } } }
2 运行结果
2016-09-04
2016-09-04
12:18:33.557
12:18:33.557
2016-09-04T12:18:33.557
2016-09-04T12:18:33.557
2016年9月4日 星期日 12:18:33
2016年9月4日 星期日 12:18:33
下午12时18分33秒
下午12时18分33秒
公元2016%%九月%%04 12:18:33
公元2016%%九月%%04 12:18:33
3 代码说明
上面代码使用3种方式创建了6个DateTimeFormatter对象,然后程序中使用不同方式来格式化日期。
三 DateTimeFormatter解析字符串
1 代码示例
import java.time.*; import java.time.format.*; public class NewFormatterParse { public static void main(String[] args) { // 定义一个任意格式的日期时间字符串 String str1 = "2014==04==12 01时06分09秒"; // 根据需要解析的日期、时间字符串定义解析所用的格式器 DateTimeFormatter fomatter1 = DateTimeFormatter .ofPattern("yyyy==MM==dd HH时mm分ss秒"); // 执行解析 LocalDateTime dt1 = LocalDateTime.parse(str1, fomatter1); System.out.println(dt1); // 输出 2014-04-12T01:06:09 // ---下面代码再次解析另一个字符串--- String str2 = "2014$$$四月$$$13 20小时"; DateTimeFormatter fomatter2 = DateTimeFormatter .ofPattern("yyy$$$MMM$$$dd HH小时"); LocalDateTime dt2 = LocalDateTime.parse(str2, fomatter2); System.out.println(dt2); // 输出 2014-04-13T20:00 } }
2 运行结果
2014-04-12T01:06:09
2014-04-13T20:00
3 代码说明
上面代码定义了两个不同格式日期、时间字符串。为了解析他们,代码分别使用对应的格式字符串创建了DateTimeFormatter对象,这样DateTimeFormatter即可按照格式化字符串将日期、时间字符串解析成LocalDateTime对象。
相关推荐
资源名称:DateUtil 日期时间转换工具类 内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关...
Java 8对日期和时间API进行了彻底的改革,引入了`java.time`包,包含`LocalDate`, `LocalTime`, `LocalDateTime`等类,以及`ZonedDateTime`和`Duration`等,提供了更直观和强大的日期时间处理功能。 **8. Nashorn ...
6. **日期与时间API**:Java 8彻底重构了日期和时间的API,引入了java.time包,提供了更易于使用的类,如LocalDate、LocalTime、LocalDateTime等,取代了过时的Calendar和Date。 7. **Optional类**:Optional是一个...
新的日期和时间 API: 探讨 Java 8 中新增的日期和时间 API,以及如何使用这些 API 来处理日期、时间和时区等相关操作。 并发编程改进: 讨论 Java 8 中对并发编程的改进,包括 CompletableFuture、新的并发工具和...
Java 8 API 文档是Java开发人员的重要参考资料,它详细阐述了Java 8及更高版本中的各种类库、接口和方法。这个文档包含了Java SE(标准版)8的所有公共API,是理解和使用新特性的关键工具。让我们深入探讨Java 8 API...
新API包括`java.time`包下的LocalDate、LocalTime、LocalDateTime等类,这些类提供了更为强大且易于使用的日期时间处理功能。 ```java // 获取当前日期 LocalDate date = LocalDate.now(); System.out.println(date)...
在Java 8之前,日期和时间的处理相对复杂,而新的java.time包提供了更加直观且强大的类,如LocalDate、LocalTime、LocalDateTime和ZonedDateTime,它们更好地支持了日期、时间和时区的运算。 函数式接口是Java 8...
5. **日期和时间API**: Java 8引入了`java.time`包,提供`LocalDate`、`LocalTime`、`LocalDateTime`等类,替代了原有的`java.util.Date`和`Calendar`,使日期和时间的操作更加直观。 **模块系统(Project Jigsaw)...
5. **日期和时间API**:Java8改进了日期和时间的处理,引入了新的java.time包,包括LocalDate, LocalTime, LocalDateTime, ZonedDateTime等类,提供了更丰富的日期和时间操作。 6. **Optional类**:Optional是一个...
6. **日期和时间API(java.time)**:Java 8替换原有的Date和Calendar API,引入了全新的日期和时间API,包括LocalDate、LocalTime、LocalDateTime、ZonedDateTime等类,提供了更直观、更易于使用的日期和时间操作。...
对于Android开发者,虽然Java 8的全部特性并不完全支持,但随着时间的推移,很多关键特性,如Lambda表达式、Stream API和日期时间API,已经被引入到Android Studio中,可以显著提升Android应用的开发效率和质量。...
在本篇文章中,我们将探讨Java 8的重要更新,包括Lambda表达式、函数式接口、Stream API、日期与时间API以及默认方法等核心知识点。 1. **Lambda表达式**: Java 8引入了Lambda表达式,这是一种简洁的匿名函数表示...
在Java 8中,许多重要的更新和改进被引入,尤其是对于集合框架、函数式编程和日期时间API的增强。以下是一些主要的知识点: 1. **Lambda表达式**:Java 8引入了lambda表达式,这是一种简洁的匿名函数表示方式,用于...
- **java.time**包:Java 8引入了全新的日期和时间API,取代了旧的`java.util.Date`和`java.util.Calendar`。新API包括`LocalDate`、`LocalTime`、`LocalDateTime`、`ZonedDateTime`等类,提供了更直观、更强大的...
Java 8还引入了日期和时间API的重大更新,移除了之前常常被诟病的`java.util.Date`和`java.util.Calendar`,引入了`java.time`包,包含如`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等类,提供了...
本文将深入探讨Java 8 API的关键知识点,包括函数式编程、日期时间API、Stream API以及默认方法等。 一、函数式编程 Java 8引入了对函数式编程的支持,最显著的变化就是Lambda表达式。Lambda表达式是一种简洁的...
这个版本对Java编程语言进行了重大更新,包括函数式编程的支持、日期时间API的改进以及新的集合API等。 **主要特性** 1. **lambda表达式**:Java SE 8引入了lambda表达式,这是函数式编程的一个关键特性。Lambda...
- `yyyy_MM_dd_HH_mm_ss`: 日期时间格式化为`"yyyy-MM-dd HH:mm:ss"`。 - `yyyy_MM_dd`: 日期格式化为`"yyyy-MM-dd"`。 - `yyyy_MM`: 日期格式化为`"yyyy-MM"`。 - `yyyy`: 日期格式化为`"yyyy"`。 - `MM`: ...
5. **日期与时间API**:Java 8改进了日期和时间处理,引入`java.time`包,提供了更易用且功能强大的API,替代了之前的`java.util.Date`和`java.util.Calendar`。 6. **Optional类**:用于表示可能为null的值,减少...