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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。