Java8 时间类用法实例分析
Java8中引入了全新的日期和时间API,其中包括了多个专门用于处理日期和时间的类。本文将深入介绍几个常用的时间类及其用法实例。
1. LocalDate
LocalDate 表示不带时区的日期,它的常用方法有:
now()
:获取当前日期getYear()
:获取当前日期的年份getMonth()
:获取当前日期的月份getDayOfMonth()
:获取当前日期的日plusDays(int daysToAdd)
:增加若干天
示例1:获取当前日期的年份、月份和日
LocalDate now = LocalDate.now();
int year = now.getYear();
Month month = now.getMonth();
int day = now.getDayOfMonth();
System.out.printf("Year : %d Month : %s day : %d \t %n", year, month, day);
示例2:在当前日期上增加2天
LocalDate now = LocalDate.now();
LocalDate newDate = now.plusDays(2);
System.out.println("Today's date is : " + now);
System.out.println("New date after adding 2 days : " + newDate);
2. LocalDateTime
LocalDateTime 表示日期和时间,不带时区信息,它的常用方法有:
now()
:获取当前日期和时间getYear()
:获取当前日期和时间的年份getMonth()
:获取当前日期和时间的月份getDayOfMonth()
:获取当前日期和时间的日getHour()
:获取当前日期和时间的小时getMinute()
:获取当前日期和时间的分钟plusDays(int daysToAdd)
:增加若干天format(DateTimeFormatter formatter)
:格式化当前日期时间
示例1:在当前日期时间上增加3天并格式化输出
LocalDateTime now = LocalDateTime.now();
LocalDateTime newDatetime = now.plusDays(3);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDatetime = newDatetime.format(formatter);
System.out.println("Formatted datetime after adding 3 days : " + formattedDatetime);
示例2:获取当前日期时间的年份、月份、日、小时和分钟
LocalDateTime now = LocalDateTime.now();
int year = now.getYear();
Month month = now.getMonth();
int day = now.getDayOfMonth();
int hour = now.getHour();
int minute = now.getMinute();
System.out.printf("Year : %d Month : %s day : %d Hour : %d Minute : %d \t %n", year, month, day, hour, minute);
3. Instant
Instant 表示的是时间戳,它表示的是从1970-01-01T00:00:00.00Z开始,以秒为单位计算的时间值。它的常用方法有:
now()
:获取当前时间戳ofEpochSecond(long epochSecond)
:从1970-01-01T00:00:00.00Z开始,以秒为单位计算的时间值创建Instant
对象plusSeconds(long secondsToAdd)
:增加若干秒toString()
:将时间戳格式化为字符串
示例1:获取当前时间戳,然后通过 toString()
方法将其格式化为字符串输出
Instant now = Instant.now();
System.out.println("Current timestamp is : " + now.toString());
示例2:从1970-01-01T00:00:00.00Z开始,以秒为单位计算的时间值创建 Instant
对象
Instant instant = Instant.ofEpochSecond(1000000000L);
System.out.println("Instant : " + instant);
结论
Java8中的时间类提供了很多常用的方法,使得日期和时间的处理变得更加简单、直观、可读,并且安全性更高。我们可以根据需求选择使用不同的时间类。在代码编写中,尽量使用Java8时间类来代替旧的时间类来获得更好的效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java8 LocalDate LocalDateTime等时间类用法实例分析 - Python技术站