當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java java.time.LocalDateTime用法及代碼示例

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)


相關用法


注:本文由純淨天空篩選整理自sanketnagare大神的英文原創作品 java.time.LocalDateTime Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。