Java日期类详解:从Date到LocalDateTime

需积分: 10 0 下载量 21 浏览量 更新于2024-08-05 收藏 57KB DOCX 举报
"Java基础笔记,涵盖了Java中与日期相关的常用类,包括java.util.Date、java.sql.Date、java.util.Calendar、java.text.SimpleDateFormat以及Java 8引入的java.time.LocalDate、LocalTime和LocalDateTime。" 在Java编程中,处理日期和时间是一项常见的任务。以下是关于Java中日期类的一些详细知识: 1. **java.util.Date** - `Date`类是表示特定瞬间的时间点,精确到毫秒。可以通过`new Date()`创建一个当前时间的实例,或者使用`getTime()`方法获取以毫秒为单位的Unix时间戳。 - 通过`System.currentTimeMillis()`可以获得当前系统时间的毫秒值,可以结合`getTime()`创建未来或过去的时间点。 - `after()`和`before()`方法用于比较两个`Date`对象的顺序。 2. **java.sql.Date** - 这个类主要用于数据库操作,它是`java.util.Date`的子类,但只包含日期部分,不包含时间信息。通常在JDBC操作中用于存储和检索日期数据。 3. **java.util.Calendar** - `Calendar`是一个抽象类,提供了一个日历框架,可以获取和设置日期和时间的各个部分(如年、月、日、小时等)。它是可变的,可以使用`set()`方法修改日期字段。 - `getTime()`方法可以将`Calendar`对象转换为`Date`对象。 4. **java.text.SimpleDateFormat** - `SimpleDateFormat`是日期/时间格式化类,用于将日期和时间转换为字符串,反之亦然。通过指定模式(如"yyyy-MM-dd HH:mm:ss"),我们可以自定义日期的显示格式。 5. **Java 8 的日期类** - **java.time.LocalDate**,**LocalTime** 和 **LocalDateTime** - Java 8 引入了`java.time`包,其中包含了更现代且易于使用的日期和时间API。`LocalDate`仅表示日期,`LocalTime`仅表示时间,而`LocalDateTime`结合了两者。 - 这些类都是不可变的,意味着创建后无法更改其值,提供了安全的并发使用。 - 可以通过`now()`获取当前日期/时间,或使用`of()`方法创建特定日期/时间。它们还提供了丰富的API,可以直接访问年、月、日、时、分、秒等字段,而无需像`Calendar`那样通过索引操作。 了解并熟练使用这些日期类对于Java开发者来说至关重要,它们在处理日期和时间相关的业务逻辑、数据库交互以及用户界面展示等方面都有广泛的应用。在实际开发中,根据需求选择合适的类和方法能有效提高代码的可读性和维护性。