下面就给您介绍Java日期时间操作的方法的完整攻略。
1. 日期时间类
Java中有多种日期时间类,包括Date
、Calendar
、DateFormat
、SimpleDateFormat
、Instant
等。其中,Date
和Calendar
是Java SE 1.1版本引入的,而Instant
是Java SE 8版本新增的类。
1.1 Date类
java.util.Date
类表示时间点,它封装了自1970年1月1日零时以来的毫秒数。使用Date
类需要注意,因为它存在的一些问题,比如只有一个无参构造方法、不可变性、不可靠性等,所以在开发中不推荐使用。
1.2 Calendar类
java.util.Calendar
类提供了对日期和时间字段之间进行转换和操作的支持。它提供了跨时区计算的功能,并且可以严格按照公历计算。但是,Calendar类在构造实例的时候,需要使用Calendar.getInstance()方法,不能直接使用构造方法来创建实例。
1.3 SimpleDateFormat类
java.text.SimpleDateFormat
类是一个用来格式化日期的类。它可以将一个日期对象按照指定的格式转换成一个字符串。同时,它也可以将字符串按照给定的格式解析成一个日期对象。SimpleDateFormat中的日期格式样式有很多,比如yyyy-MM-dd、yyyy/MM/dd HH:mm:ss等等。
示例1:将当前时间格式化成yyyy/MM/dd HH:mm:ss
的字符串形式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String dateString = dateFormat.format(new Date());
System.out.println(dateString);
1.4 Instant类
java.time.Instant类是Java SE 8引入的。它代表了时间线上的一个瞬间,可以精确到纳秒级别。它的实例可以用来表示一段时间、表示时间范围以及进行时间计算等等。
2. 日期时间操作
了解了Java日期时间类之后,接下来就是如何操作它们了。
2.1 Date和Calendar类的操作
- 计算时间差。使用Calendar类的方法可以计算时间差,具体方法为
compute()
和add()
,如下:
```java
Calendar calendar = Calendar.getInstance();
Date date1 = new Date();
calendar.setTime(date1);
// 计算10天之后的日期
calendar.add(Calendar.DATE, 10);
Date date2 = calendar.getTime();
```
- 时间格式化。可以使用SimpleDateFormat类来格式化时间,如示例1所示。
2.2 Instant类的操作
- 获取当前时间。使用Instant.now()方法可以获取当前时间的Instant实例,如下:
java
Instant now = Instant.now();
- 时间计算。Instant类可以进行时间计算,比如plusMillis(long millis)、minusMillis(long millis)等方法。
示例2:计算两个Instant实例之间的时间差
Instant start = Instant.parse("2022-01-01T00:00:00Z");
Instant end = Instant.parse("2022-01-02T00:00:00Z");
Duration duration = Duration.between(start, end);
System.out.println("时间差为:" + duration.getSeconds() + "秒");
以上就是Java日期时间操作的方法的完整攻略。希望可以帮助到您。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java日期时间操作的方法 - Python技术站