当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。