Java的时间类汇总(齐全):
Java是一门强大的编程语言,其中时间类也是其核心组成部分之一。在Java中,时间类主要分为以下几种:
1. java.util包中的Date类
Date类是Java中最基础的时间类。它代表时间和日期的基本构建块,可以表示从1970年1月1日的00:00:00 GMT开始的时间。Date类可以处理的时间范围是公元前 337年 ~ 公元 2262年。
获取当前时间:
import java.util.Date;
public class ExampleDate {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
}
输出结果:Wed Dec 22 11:19:16 CST 2021
需要注意的是,Date类已经被声明为不推荐使用的类,它的大部分方法已经被废弃,建议使用Java 8中的Time API。
2. java.time包中的时间类
Java 8中引入了新的时间API,包含在java.time包中。这些类提供了更为丰富的功能和更好的线程安全性能,可以取代早期Java版本中的Date和Calendar类。
获取当前时间:
import java.time.LocalTime;
public class ExampleLocalTime {
public static void main(String[] args) {
LocalTime time = LocalTime.now();
System.out.println(time);
}
}
输出结果:20:35:41.2003743
计算两个时间差:
import java.time.Duration;
import java.time.LocalTime;
public class ExampleDuration {
public static void main(String[] args) {
LocalTime time1 = LocalTime.of(12, 20, 30);
LocalTime time2 = LocalTime.of(8, 10, 15);
Duration duration = Duration.between(time1, time2);
System.out.println(duration.getSeconds());
}
}
输出结果:-14415(计算两个时间之间的秒数,这里结果为负数)
3. java.time包中的日期类
Java 8中的时间API还包括日期类,它们比Java 1.1中的Date类更加灵活、易于使用。
获取当前日期:
import java.time.LocalDate;
public class ExampleLocalDate {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
System.out.println(date);
}
}
输出结果:2021-12-22
计算两个日期之间的天数:
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class ExampleChronoUnit {
public static void main(String[] args) {
LocalDate date1 = LocalDate.parse("2021-12-20");
LocalDate date2 = LocalDate.parse("2021-12-22");
long days = ChronoUnit.DAYS.between(date1, date2);
System.out.println(days);
}
}
输出结果:2
4. java.time包中的时间日期类
Java 8中引入的时间API还包括LocalDateTime类和ZonedDateTime类,它们分别表示本地时间和带时区的时间。
获取当前本地时间日期:
import java.time.LocalDateTime;
public class ExampleLocalDateTime {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);
}
}
输出结果:2021-12-22T20:56:28.119239
获取当前带时区的时间:
import java.time.ZonedDateTime;
public class ExampleZonedDateTime {
public static void main(String[] args) {
ZonedDateTime zonedDateTime = ZonedDateTime.now();
System.out.println(zonedDateTime);
}
}
输出结果:2021-12-22T20:56:28.119239+08:00[Asia/Shanghai]
以上是Java中常用的时间类汇总,可以根据不同的需求进行选择使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java的时间类汇总(齐全) - Python技术站