点击上方“Java技术前线”,选择“置顶或者星标”
与你一起成长
作者 | 胖先森
来源 | juejin.im/post/5a795bad6fb9a0634f407ae5- 示例1:Java 8中获取今天的日期
- 示例2:Java 8中获取年、月、日信息
- 示例3:Java 8中处理特定日期
- 示例4:Java 8中判断两个日期是否相等
- 示例5:Java 8中检查像生日这种周期性事件
- 示例6:Java 8中获取当前时间
- 示例7:Java 8中获取当前时间
- 示例8:Java 8如何计算一周后的日期
- 示例9:Java 8计算一年前或一年后的日期
- 示例10:Java 8的Clock时钟类
- 示例11:如何用Java判断日期是早于还是晚于另一个日期
- 示例12:Java 8中处理时区
- 示例13:如何表示信用卡到期这类固定日期,答案就在YearMonth
- 示例14:如何在Java 8中检查闰年
- 示例15:计算两个日期之间的天数和月数
- 示例16:在Java 8中获取当前的时间戳
- 示例17:Java 8中如何使用预定义的格式化工具去解析或格式化日期
- 示例18:字符串互转日期类型
Java 8 日期处理
Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。
Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。
新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。
编号 | 类的名称 | 描述 |
---|---|---|
1 | Instant | 时间戳 |
2 | Duration | 持续时间,时间差 |
3 | LocalDate | 只包含日期,比如:2018-02-05 |
4 | LocalTime | 只包含时间,比如:23:12:10 |
5 | LocalDateTime | 包含日期和时间,比如:2018-02-05 23:14:21 |
6 | Period | 时间段 |
7 | ZoneOffset | 时区偏移量,比如:+8:00 |
8 | ZonedDateTime | 带时区的时间 |
9 | Clock | 时钟,比如获取目前美国纽约的时间 |
10 | java.time.format.DateTimeFormatter | 时间格式化 |
示例1:Java 8中获取今天的日期
Java 8 中的 LocalDate 用于表示当天日期。和java.util.Date不同,它只有日期,不包含时间。当你仅需要表示日期时就用这个类。
package com.shxt.demo02;
import java.time.LocalDate;
publicclass Demo01 {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("今天的日期:"+today);
}
}
/*
运行结果:
今天的日期:2018-02-05
*/
示例2:Java 8中获取年、月、日信息
package com.shxt.demo02;
import java.time.LocalDate;
publicclass Demo02 {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.println("year:"+year);
System.out.println("month:"+month);
System.out.println("day: