java.time.LocalDateJava 8 中引入的 表示没有时区信息的本地日期时间对象。 Java 中的LocalDateTime 类是一个不可变的日期时间对象,表示yyyy-MM-dd-HH-mm-ss.zzz格式。它实现了ChronoLocalDateTime from()接口并继承对象类。
无论何时需要在没有时区参考的情况下表示时间,我们都可以使用 LocalDateTime 实例。例如,LocalDateTime 可用于在任何应用程序中启动批处理作业。作业将在服务器所在时区的固定时间运行。注意 LocalDateTime 实例是不可变的和线程的。
用法:类声明
public final class LocalDateTime
extends Object
implements Temporal, TemporalAdjuster, ChronoLocalDateTime<LocalDate>, Serializable
该类的方法如下:
方法 | 说明 |
---|---|
LocalDateTime format() | 它用于使用指定的格式化程序来格式化该日期时间。 |
get() | 它用于从该日期时间获取指定字段的 int 值。 |
LocalTime minusMinutes() | 返回此 LocalDateTime 的副本,并减去指定的分钟数。 |
LocalDate minusYears() | 返回此 LocalDateTime 的副本,并减去指定的年数。 |
LocalDate minusDays() | 返回此 LocalDateTime 的副本,并减去指定的天数。 |
now() | 它用于从默认时区的系统时钟获取当前日期时间。 |
LocalDateTime plusHours() | 返回此 LocalDateTime 的副本,并添加指定的小时数。 |
LocalDate plusYears() | 返回此 LocalDateTime 的副本,并添加指定的年数。 |
LocalDate plusDays() | 返回此 LocalDateTime 的副本,并添加指定的天数。 |
LocalDateTime 中的其他一些修改本地时间的方法可用于获取相对于现有 localdatetime 实例的新 localdatetime 实例。它们分别如下:
plusYears()、plusMonths()、plusDays()、plusHours()、plusMinutes()、plusSeconds()、plusNanos()、minusYears()、minusMonths()、minusDays()、minusHours()、minusMinutes()、minusSeconds()、minusNanos()
示例 1:
Java
// Java Program to illustrate LocalDateTime Class of java.time package
// Importing LocalDateTime class from java.time package
import java.time.LocalDateTime;
// Main class for LocalDateTime
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an object of LocalDateTime class
// in the main() method
LocalDateTime now = LocalDateTime.now();
// Print statement
System.out.println(now);
// Adding 1 year, 1 month, 1 week and 1 day
LocalDateTime localDateTime1 = now.plusYears(1)
.plusMonths(1)
.plusWeeks(1)
.plusDays(1);
// Print statement
System.out.println(localDateTime1);
// Subtracting 1 year, 1 month, 1 week and 1 day
LocalDateTime localDateTime2
= localDateTime1.minusYears(1)
.minusMonths(1)
.minusWeeks(1)
.minusDays(1);
// Print statement
System.out.println(localDateTime2);
// Adding 1 hour, 1 minute, 1 second and 100
// nanoseconds
LocalDateTime localDateTime3
= localDateTime2.plusHours(1)
.plusMinutes(1)
.plusSeconds(1)
.plusNanos(100);
// Print statement
System.out.println(localDateTime3);
// Subtracting 1 hour, 1 minute, 1 second and 100
// nanoseconds
LocalDateTime localDateTime4
= localDateTime3.minusHours(1)
.minusMinutes(1)
.minusSeconds(1)
.minusNanos(100);
// Print statement
System.out.println(localDateTime4);
}
}
输出:
示例 2:创建指定时间
Java
// Java Program to illustrate LocalDateTime Class
// of java.time package by creating specific time
// Importing required classes from resp packages
import java.time.*;
import java.time.format.*;
// main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Milliseconds
LocalDateTime localDateTime1 = LocalDateTime.of(
2021, 04, 24, 14, 33, 48, 123456789);
// Print statement
System.out.println(localDateTime1);
// Month
LocalDateTime localDateTime2 = LocalDateTime.of(
2021, Month.APRIL, 24, 14, 33, 48, 123456789);
// Print statement
System.out.println(localDateTime2);
// Seconds
LocalDateTime localDateTime3 = LocalDateTime.of(
2021, Month.APRIL, 24, 14, 33, 48);
// Print statement
System.out.println(localDateTime3);
// Minutes
LocalDateTime localDateTime4 = LocalDateTime.of(
2021, Month.APRIL, 24, 14, 33);
// Print statement
System.out.println(localDateTime4);
// Local date + Local time
LocalDate date = LocalDate.of(2021, 04, 24);
LocalTime time = LocalTime.of(10, 34);
LocalDateTime localDateTime5
= LocalDateTime.of(date, time);
// Print statement
System.out.println(localDateTime5);
}
}
输出:
实施例3:将LocalDateTime格式化为字符串
要将本地时间格式化为所需的字符串表示形式,请使用 LocalDateTime.format(DateTimeFormatter) 方法。
Java
// Java Program to illustrate LocalDateTime Class by
// Formatting LocalDateTime to string
// Importing all classes from java.time package
import java.time.LocalDateTime;
import java.time.format.*;
import java.util.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an object of DateTimeFormatter class
DateTimeFormatter formatter
= DateTimeFormatter.ofPattern(
"yyyy-MM-dd HH:mm:ss a");
// Creating an object of LocalDateTime class
// and getting local date and time using now()
// method
LocalDateTime now = LocalDateTime.now();
// Formatting LocalDateTime to string
String dateTimeString = now.format(formatter);
// Print and Display
System.out.println(dateTimeString);
}
}
输出:
Note: In order to parse a string to LocalDateTime, convert time in a string to a local time instance, the LocalDateTime class has two overloaded parse() methods.
- parse(CharSequence text)
- parse(CharSequence text, DateTimeFormatter formatter)
相关用法
- Java java.time.LocalDateTime.adjustInto()用法及代码示例
- Java java.time.LocalDateTime.atOffset()用法及代码示例
- Java java.time.LocalDateTime.atZone()用法及代码示例
- Java java.time.LocalDateTime.compareTo()用法及代码示例
- Java java.time.LocalDateTime.equals()用法及代码示例
- Java java.time.LocalDateTime.format()用法及代码示例
- Java java.time.LocalDateTime.from()用法及代码示例
- Java java.time.LocalDateTime.get()用法及代码示例
- Java java.time.LocalDateTime.getDayOfMonth()用法及代码示例
- Java java.time.LocalDateTime.getDayOfWeek()用法及代码示例
- Java java.time.LocalDateTime.getDayOfYear()用法及代码示例
- Java java.time.LocalDateTime.getHour()用法及代码示例
- Java java.time.LocalDateTime.getLong()用法及代码示例
- Java java.time.LocalDateTime.getMinute()用法及代码示例
- Java java.time.LocalDateTime.getMonth()用法及代码示例
- Java java.time.LocalDateTime.getMonthValue()用法及代码示例
- Java java.time.LocalDateTime.getNano()用法及代码示例
- Java java.time.LocalDateTime.getSecond()用法及代码示例
- Java java.time.LocalDateTime.getYear()用法及代码示例
- Java java.time.LocalDateTime.hashCode()用法及代码示例
- Java java.time.LocalDateTime.isAfter()用法及代码示例
- Java java.time.LocalDateTime.isBefore()用法及代码示例
- Java java.time.LocalDateTime.isEqual()用法及代码示例
- Java java.time.LocalDateTime.isSupported()用法及代码示例
- Java java.time.LocalDateTime.minus()用法及代码示例
注:本文由纯净天空筛选整理自sanketnagare大神的英文原创作品 java.time.LocalDateTime Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。