LocalDateTime
是用来表示日期和时间的组合。
当我们需要一个日期和时间的组合时,这是最常用的类。该类提供了多种API,我们将看一下一些最常用的API。
java.time.LocalDateTime
类是一个不可变的类,它表示一个没有时区信息的日期时间,如'2018-08-12T10:35:55'。LocalDateTime c
Lass提供了很多处理本地日期和时间的API/方法,所以在这篇文章中,我们将讨论一些重要的和经常使用的LocalDateTime
API/方法和例子。
为了更好地理解,让我们把这些方法分类为它们的用法,并举例加以说明。
static LocalDateTime now()
- 从默认时区的系统时钟获取当前日期时间。static LocalDateTime now(Clock clock)
- 从指定的时钟获取当前的日期时间。static LocalDateTime now(ZoneId zone)
- 从指定时区的系统时钟获取当前的日期时间。int getYear()
- 获取年字段。Month getMonth()
- 使用Month枚举来获取年月字段。int getDayOfMonth()
- 获得月中的日字段。DayOfWeek getDayOfWeek()
- 获得周的日期字段,它是DayOfWeek的一个枚举。int getDayOfYear()
- 获得年的日期字段。int getHour()
- 获取小时-日字段。int getMinute()
- 获得小时中的分钟字段。int getNano()
- 获得秒的纳米字段。int getSecond()
- 获得分钟内的秒字段。LocalDateTime plusDays(long days)
- 返回该LocalDateTime的副本,并添加指定的天数。LocalDateTime plusHours(long hours)
- 返回这个LocalDateTime的副本,并添加指定的小时数。LocalDateTime plusMinutes(long minutes)
- 返回此LocalDateTime的副本,并添加指定的分钟数。LocalDateTime plusSeconds(long seconds)
- 返回这个LocalDateTime的副本,并添加指定的秒数。LocalDateTime plusWeeks(long weeks)
- 返回此LocalDateTime的副本,并添加指定的周数。LocalDateTime plusYears(long years)
- 返回此LocalDateTime的副本,并添加指定的年数。LocalDateTime minusDays(long days)
- 返回此LocalDateTime的副本,并减去指定的天数。LocalDateTime minusHours(long hours)
- 返回此LocalDateTime的副本,并减去指定的小时数。LocalDateTime minusMinutes(long minutes)
- 返回这个LocalDateTime的副本,并减去指定的分钟数。LocalDateTime minusMonths(long months)
- 返回这个LocalDateTime的副本,并减去指定的月数。LocalDateTime minusNanos(long nanos)
- 返回这个LocalDateTime的副本,并减去指定的纳秒数。LocalDateTime minusSeconds(long seconds)
- 返回这个LocalDateTime的副本,并减去指定的秒数。LocalDateTime minusWeeks(long weeks)
- 返回这个LocalDateTime的副本,并减去指定的星期数。LocalDateTime minusYears(long years)
- 返回此LocalDateTime的副本,并减去指定的年数。boolean isAfter(ChronoLocalDateTime<?> other)
- 检查此日期时间是否在指定日期时间之后。boolean isBefore(ChronoLocalDateTime<?> other)
- 检查该日期时间是否在指定日期时间之前。boolean isEqual(ChronoLocalDateTime<?> other)
- 检查此日期时间是否等于指定的日期时间。int compareTo(ChronoLocalDateTime<?> other)
- 将此日期时间与另一日期时间相比较。LocalDate toLocalDate()
- 获取此日期时间的LocalDate部分。LocalTime toLocalTime()
- 获取该日期时间的LocalTime部分。LocalDateTime类提供了以下API,分别用于创建当前日期时间和特定日期时间对象。
static LocalDateTime now()
- 从默认时区的系统时钟获取当前日期时间。static LocalDateTime now(Clock clock)
- 从指定的时钟获取当前的日期时间。static LocalDateTime now(ZoneId zone)
- 从指定时区的系统时钟获取当前的日期时间。import java.time.Clock;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.ZoneId;
//*/*
/* Program to demonstrate LocalDateTime Class APIs.
/* @author javaguides.net
/*
/*/
public class LocalDateTimeExample {
public static void main(String[] args) {
createLocalDateTime();
}
private static void createLocalDateTime() {
// Current date time
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);
// Current date time from specified time-zone
LocalDateTime dateTime2 = LocalDateTime.now(ZoneId.of("UTC"));
System.out.println(dateTime2);
// Current date time from specified clock
LocalDateTime dateTime3 = LocalDateTime.now(Clock.systemUTC());
System.out.println(dateTime3);
// Specific date time
LocalDateTime dateTime4 = LocalDateTime.of(2017, Month.JULY, 12, 10, 35, 55);
System.out.println(dateTime4);
}
}
输出。
2018-08-10T18:08:43.787
2018-08-10T12:38:43.789
2018-08-10T12:38:43.789
2017-07-12T10:35:55
LocalDateTime类提供以下API,从LocalDateTime获取年、月、日。
int getYear()
- 获取年字段。Month getMonth()
- 使用Month枚举来获取年月字段。int getDayOfMonth()
- 获得月中的日字段。DayOfWeek getDayOfWeek()
- 获得星期的字段,它是一个枚举DayOfWeek。int getDayOfYear()
- 获得年月日字段。import java.time.LocalDateTime;
//*/*
/* Program to demonstrate LocalDateTime Class APIs.
/* @author javaguides.net
/*
/*/
public class LocalDateTimeExample {
public static void main(String[] args) {
getYearMonthDayFromLocalDateTime();
}
private static void getYearMonthDayFromLocalDateTime() {
LocalDateTime dateTime = LocalDateTime.now();
System.out.println("Year : " + dateTime.getYear());
System.out.println("Month : " + dateTime.getMonth().getValue());
System.out.println("Day of Month : " + dateTime.getDayOfMonth());
System.out.println("Day of Week : " + dateTime.getDayOfWeek());
System.out.println("Day of Year : " + dateTime.getDayOfYear());
}
}
输出。
Year : 2018
Month : 8
Day of Month : 10
Day of Week : FRIDAY
Day of Year : 222
LocalDateTime类提供了以下API来从LocalDateTime中获取小时、分钟、秒。
int getHour()
- 获取一天中的小时字段。int getMinute()
- 获取小时中的分钟字段。int getNano()
- 获得秒的纳米数字段。int getSecond()
- 获得分钟内的秒字段。import java.time.LocalDateTime;
//*/*
/* Program to demonstrate LocalDateTime Class APIs.
/* @author javaguides.net
/*
/*/
public class LocalDateTimeExample {
public static void main(String[] args) {
getHourMinuteSecondfromLocalDateTime();
}
private static void getHourMinuteSecondfromLocalDateTime() {
LocalDateTime dateTime = LocalDateTime.now();
System.out.println("Hour : " + dateTime.getHour());
System.out.println("Minute : " + dateTime.getMinute());
System.out.println("Second : " + dateTime.getSecond());
System.out.println("Nano : " + dateTime.getNano());
}
}
LocalDateTime类提供以下API,用于在LocalDateTime中添加或减去年、月、日、小时、分钟和秒。
LocalDateTime plusDays(long days)
- 返回该LocalDateTime的副本,并添加指定的天数。LocalDateTime plusHours(long hours)
- 返回这个LocalDateTime的副本,并添加指定的小时数。LocalDateTime plusMinutes(long minutes)
- 返回此LocalDateTime的副本,并添加指定的分钟数。LocalDateTime plusSeconds(long seconds)
- 返回这个LocalDateTime的副本,并添加指定的秒数。LocalDateTime plusWeeks(long weeks)
- 返回此LocalDateTime的副本,并添加指定的周数。LocalDateTime plusYears(long years)
- 返回此LocalDateTime的副本,并添加指定的年数。LocalDateTime minusDays(long days)
- 返回此LocalDateTime的副本,并减去指定的天数。LocalDateTime minusHours(long hours)
- 返回此LocalDateTime的副本,并减去指定的小时数。LocalDateTime minusMinutes(long minutes)
- 返回这个LocalDateTime的副本,并减去指定的分钟数。LocalDateTime minusMonths(long months)
- 返回这个LocalDateTime的副本,并减去指定的月数。LocalDateTime minusNanos(long nanos)
- 返回这个LocalDateTime的副本,并减去指定的纳秒数。LocalDateTime minusSeconds(long seconds)
- 返回这个LocalDateTime的副本,并减去指定的秒数。LocalDateTime minusWeeks(long weeks)
- 返回这个LocalDateTime的副本,并减去指定的星期数。LocalDateTime minusYears(long years)
- 返回此LocalDateTime的副本,并减去指定的年数。//*/*
/* Program to demonstrate LocalDateTime Class APIs.
/* @author javaguides.net
/*
/*/
public class LocalDateTimeExample {
public static void main(String[] args) {
addOrSubstractUsingLocalDateTime();
}
private static void addOrSubstractUsingLocalDateTime() {
LocalDateTime dateTime = LocalDateTime.now();
// LocalDateTime's plus methods
System.out.println("Addition of days : " + dateTime.plusDays(5));
System.out.println("Addition of months : " + dateTime.plusMonths(15));
System.out.println("Addition of years : " + dateTime.plusYears(5));
System.out.println("Addition of Hours : " + dateTime.plusHours(2));
System.out.println("Addition of Minutes : " + dateTime.plusMinutes(30));
System.out.println("Addition of Seconds : " + dateTime.plusSeconds(20));
// LocalDateTime's minus methods
System.out.println("Subtraction of days : " + dateTime.minusDays(5));
System.out.println("Subtraction of months : " + dateTime.minusMonths(15));
System.out.println("Subtraction of years : " + dateTime.minusYears(5));
System.out.println("Subtraction of Hours : " + dateTime.minusHours(2));
System.out.println("Subtraction of Minutes : " + dateTime.minusMinutes(30));
System.out.println("Subtraction of Seconds : " + dateTime.minusSeconds(20));
}
}
输出。
Addition of days : 2018-08-15T18:14:13.385
Addition of months : 2019-11-10T18:14:13.385
Addition of years : 2023-08-10T18:14:13.385
Addition of Hours : 2018-08-10T20:14:13.385
Addition of Minutes : 2018-08-10T18:44:13.385
Addition of Seconds : 2018-08-10T18:14:33.385
Subtraction of days : 2018-08-05T18:14:13.385
Subtraction of months : 2017-05-10T18:14:13.385
Subtraction of years : 2013-08-10T18:14:13.385
Subtraction of Hours : 2018-08-10T16:14:13.385
Subtraction of Minutes : 2018-08-10T17:44:13.385
Subtraction of Seconds : 2018-08-10T18:13:53.385
LocalDateTime类提供了以下API来比较Java中的LocalDateTime对象。
boolean isAfter(ChronoLocalDateTime<?> other)
- 检查该日期时间是否在指定日期时间之后。boolean isBefore(ChronoLocalDateTime<?> other)
- 检查这个日期时间是否在指定日期时间之前。boolean isEqual(ChronoLocalDateTime<?> other)
- 检查此日期时间是否等于指定的日期时间。int compareTo(ChronoLocalDateTime<?> other)
- 将此日期时间与另一日期时间相比较。import java.time.LocalDateTime;
//*/*
/* Program to demonstrate LocalDateTime Class APIs.
/* @author javaguides.net
/*
/*/
public class LocalDateTimeExample {
public static void main(String[] args) {
compareLocalDateTimeObjects();
}
private static void compareLocalDateTimeObjects() {
LocalDateTime dateTime1 = LocalDateTime.of(2017, 05, 22, 10, 55, 25);
LocalDateTime dateTime2 = LocalDateTime.of(2017, 06, 11, 05, 35, 26);
LocalDateTime dateTime3 = LocalDateTime.of(2017, 05, 22, 10, 55, 25);
// Using isBefore() method
if (dateTime1.isBefore(dateTime2)) {
System.out.println("dateTime1 is before dateTime2");
}
// Using isAfter() method
if (dateTime2.isAfter(dateTime3)) {
System.out.println("dateTime2 is after dateTime3");
}
// Using isEqual() method
if (dateTime1.isEqual(dateTime3)) {
System.out.println("dateTime1 is equal to dateTime3");
}
// Using compareTo() method
if (dateTime1.compareTo(dateTime3) == 0) {
System.out.println("dateTime1 is equal to dateTime3");
}
}
}
输出。
dateTime1 is before dateTime2
dateTime2 is after dateTime3
dateTime1 is equal to dateTime3
dateTime1 is equal to dateTime3
LocalDateTime类提供了以下API,可以在Java中从LocalDateTime转换为LocalDate。
LocalDate toLocalDate()
- 获取该日期时间的LocalDate部分。import java.time.LocalDate;
import java.time.LocalDateTime;
//*/*
/* Program to demonstrate LocalDateTime Class APIs.
/* @author javaguides.net
/*
/*/
public class LocalDateTimeExample {
public static void main(String[] args) {
convertLocalDateTimeToLocalDate();
}
private static void convertLocalDateTimeToLocalDate() {
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);
LocalDate localDate = dateTime.toLocalDate();
System.out.println(localDate);
}
}
输出。
2018-08-10T18:16:35.802
2018-08-10
LocalDateTime类提供了以下API,用于在Java中从LocalDateTime转换为LocalTime。
LocalTime toLocalTime()
- 获取该日期时间的LocalTime部分。import java.time.LocalDateTime;
import java.time.LocalTime;
//*/*
/* Program to demonstrate LocalDateTime Class APIs.
/* @author javaguides.net
/*
/*/
public class LocalDateTimeExample {
public static void main(String[] args) {
convertLocalDateTimeToLocalTime();
}
private static void convertLocalDateTimeToLocalTime() {
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);
LocalTime localDate = dateTime.toLocalTime();
System.out.println(localDate);
}
}
输出。
2018-08-10T18:17:08.598
18:17:08.598
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2018/08/java-8-localdatetime-class-api-guide.html
内容来源于网络,如有侵权,请联系作者删除!