Java : LocalDateTime with Examples

LocalDateTime (Java SE 21 & JDK 21) with Examples.
You will find code examples on most LocalDateTime methods.


Summary

A date-time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.

Class diagram

final var dateTime = LocalDateTime.of(2100, 4, 14, 13, 30, 15, 123000000);
System.out.println(dateTime); // 2100-04-14T13:30:15.123

System.out.println(dateTime.getYear()); // 2100
System.out.println(dateTime.getMonth()); // APRIL
System.out.println(dateTime.getDayOfMonth()); // 14

System.out.println(dateTime.getHour()); // 13
System.out.println(dateTime.getMinute()); // 30
System.out.println(dateTime.getSecond()); // 15
System.out.println(dateTime.getNano()); // 123000000

Fields

static final LocalDateTime MAX

The maximum supported LocalDateTime, '+999999999-12-31T23:59:59.999999999'.

System.out.println(LocalDateTime.MAX); // +999999999-12-31T23:59:59.999999999

static final LocalDateTime MIN

The minimum supported LocalDateTime, '-999999999-01-01T00:00:00'.

System.out.println(LocalDateTime.MIN); // -999999999-01-01T00:00

Methods

Temporal adjustInto (Temporal temporal)

Adjusts the specified temporal object to have the same date and time as this object.

final var zone = ZoneId.systemDefault();
System.out.println(zone); // America/Los_Angeles

final var temporal = ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, zone);
System.out.println(temporal); // 2100-01-01T00:00-08:00[America/Los_Angeles]

final var dateTime = LocalDateTime.of(1900, 4, 15, 1, 2, 3, 0);
System.out.println(dateTime); // 1900-04-15T01:02:03

final var ret = dateTime.adjustInto(temporal);
System.out.println(ret); // 1900-04-15T01:02:03-08:00[America/Los_Angeles]
final var offset = ZoneOffset.ofHours(9);
System.out.println(offset); // +09:00

final var temporal = OffsetDateTime.of(2100, 1, 2, 3, 4, 5, 678000000, offset);
System.out.println(temporal); // 2100-01-02T03:04:05.678+09:00

final var dateTime = LocalDateTime.of(2500, 4, 14, 0, 0);
System.out.println(dateTime); // 2500-04-14T00:00

final var ret = dateTime.adjustInto(temporal);
System.out.println(ret); // 2500-04-14T00:00+09:00

OffsetDateTime atOffset (ZoneOffset offset)

Combines this date-time with an offset to create an OffsetDateTime.

final var dateTime = LocalDateTime.of(2100, 4, 14, 15, 20);
System.out.println(dateTime); // 2100-04-14T15:20

final var ret1 = dateTime.atOffset(ZoneOffset.UTC);
System.out.println(ret1); // 2100-04-14T15:20Z

final var ret2 = dateTime.atOffset(ZoneOffset.ofHours(9));
System.out.println(ret2); // 2100-04-14T15:20+09:00

final var ret3 = dateTime.atOffset(ZoneOffset.ofHoursMinutes(-7, -30));
System.out.println(ret3); // 2100-04-14T15:20-07:30

ZonedDateTime atZone (ZoneId zone)

Combines this date-time with a time-zone to create a ZonedDateTime.

final var dateTime = LocalDateTime.of(2100, 4, 14, 15, 20);
System.out.println(dateTime); // 2100-04-14T15:20

final var ret1 = dateTime.atZone(ZoneId.systemDefault());
System.out.println(ret1); // 2100-04-14T15:20-07:00[America/Los_Angeles]

final var ret2 = dateTime.atZone(ZoneId.of("Asia/Tokyo"));
System.out.println(ret2); // 2100-04-14T15:20+09:00[Asia/Tokyo]

final var ret3 = dateTime.atZone(ZoneOffset.UTC);
System.out.println(ret3); // 2100-04-14T15:20Z

int compareTo (ChronoLocalDateTime<?> other)

Compares this date-time to another date-time.

final var dateTime1 = LocalDateTime.of(2100, 1, 1, 0, 0);
final var dateTime2 = LocalDateTime.of(2100, 1, 1, 0, 0);

System.out.println(dateTime1); // 2100-01-01T00:00
System.out.println(dateTime2); // 2100-01-01T00:00
System.out.println(dateTime1.compareTo(dateTime2)); // 0
final var dateTime1 = LocalDateTime.of(2100, 4, 14, 15, 20);
final var dateTime2 = LocalDateTime.of(2100, 4, 14, 15, 21);

System.out.println(dateTime1); // 2100-04-14T15:20
System.out.println(dateTime2); // 2100-04-14T15:21
System.out.println(dateTime1.compareTo(dateTime2)); // -1
final var dateTime1 = LocalDateTime.of(2100, 4, 15, 0, 0);
final var dateTime2 = LocalDateTime.of(2100, 4, 14, 0, 0);

System.out.println(dateTime1); // 2100-04-15T00:00
System.out.println(dateTime2); // 2100-04-14T00:00
System.out.println(dateTime1.compareTo(dateTime2)); // 1
final var dateTime1 = LocalDateTime.of(2100, 1, 1, 0, 0);
final var dateTime2 = LocalDateTime.of(1900, 12, 30, 23, 59);

System.out.println(dateTime1); // 2100-01-01T00:00
System.out.println(dateTime2); // 1900-12-30T23:59
System.out.println(dateTime1.compareTo(dateTime2)); // 200
final var dateTime1 = LocalDateTime.of(2099, 1, 1, 0, 0, 1);
final var dateTime2 = LocalDateTime.of(2099, 1, 1, 0, 0);

System.out.println(dateTime1); // 2099-01-01T00:00:01
System.out.println(dateTime2); // 2099-01-01T00:00
System.out.println(dateTime1.compareTo(dateTime2)); // 1
final var dateTime1 = LocalDateTime.of(2100, 4, 13, 0, 0, 0, 123);
final var dateTime2 = LocalDateTime.of(2100, 4, 13, 0, 0, 0, 456);

System.out.println(dateTime1); // 2100-04-13T00:00:00.000000123
System.out.println(dateTime2); // 2100-04-13T00:00:00.000000456
System.out.println(dateTime1.compareTo(dateTime2)); // -1

boolean equals (Object obj)

Checks if this date-time is equal to another date-time.

final var dateTime1 = LocalDateTime.of(2100, 1, 1, 0, 0);
final var dateTime2 = LocalDateTime.of(2100, 1, 1, 0, 0);

System.out.println(dateTime1); // 2100-01-01T00:00
System.out.println(dateTime2); // 2100-01-01T00:00
System.out.println(dateTime1.equals(dateTime2)); // true
final var dateTime1 = LocalDateTime.of(2100, 4, 14, 15, 20);
final var dateTime2 = LocalDateTime.of(2100, 4, 14, 15, 21);

System.out.println(dateTime1); // 2100-04-14T15:20
System.out.println(dateTime2); // 2100-04-14T15:21
System.out.println(dateTime1.equals(dateTime2)); // false
final var dateTime1 = LocalDateTime.of(2100, 4, 15, 0, 0);
final var dateTime2 = LocalDateTime.of(2100, 4, 14, 0, 0);

System.out.println(dateTime1); // 2100-04-15T00:00
System.out.println(dateTime2); // 2100-04-14T00:00
System.out.println(dateTime1.equals(dateTime2)); // false
final var dateTime1 = LocalDateTime.of(2100, 1, 1, 0, 0);
final var dateTime2 = LocalDateTime.of(1900, 12, 30, 23, 59);

System.out.println(dateTime1); // 2100-01-01T00:00
System.out.println(dateTime2); // 1900-12-30T23:59
System.out.println(dateTime1.equals(dateTime2)); // false
final var dateTime1 = LocalDateTime.of(2099, 1, 1, 0, 0, 1);
final var dateTime2 = LocalDateTime.of(2099, 1, 1, 0, 0);

System.out.println(dateTime1); // 2099-01-01T00:00:01
System.out.println(dateTime2); // 2099-01-01T00:00
System.out.println(dateTime1.equals(dateTime2)); // false
final var dateTime1 = LocalDateTime.of(2100, 4, 13, 0, 0, 0, 123);
final var dateTime2 = LocalDateTime.of(2100, 4, 13, 0, 0, 0, 456);

System.out.println(dateTime1); // 2100-04-13T00:00:00.000000123
System.out.println(dateTime2); // 2100-04-13T00:00:00.000000456
System.out.println(dateTime1.equals(dateTime2)); // false

String format (DateTimeFormatter formatter)

Formats this date-time using the specified formatter.

final var dateTime = LocalDateTime.of(2100, 4, 7, 13, 30, 45);
System.out.println(dateTime); // 2100-04-07T13:30:45

{
    final var ret = dateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
    System.out.println(ret); // 2100-04-07T13:30:45
}
{
    System.out.println(Locale.getDefault().toLanguageTag()); // en-US

    final var ret1 = dateTime.format(
            DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM));
    System.out.println(ret1); // Apr 7, 2100, 1:30:45 PM

    final var ret2 = dateTime.format(
            DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT));
    System.out.println(ret2); // 4/7/00, 1:30 PM

    try {
        final var ret = dateTime.format(
                DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG));
    } catch (DateTimeException e) {
        System.out.println("DateTimeException! : " + e.getMessage());
    }

    // Result
    // ↓
    //DateTimeException! : Unable to extract ZoneId from temporal 2100-04-07T13:30:45
}

static LocalDateTime from (TemporalAccessor temporal)

Obtains an instance of LocalDateTime from a temporal object.

final var zone = ZoneId.systemDefault();
System.out.println(zone); // America/Los_Angeles

final var temporal = ZonedDateTime.of(2100, 4, 13, 12, 30, 45, 1234, zone);
System.out.println(temporal); // 2100-04-13T12:30:45.000001234-07:00[America/Los_Angeles]

System.out.println(LocalDateTime.from(temporal)); // 2100-04-13T12:30:45.000001234
final var offset = ZoneOffset.ofHours(9);
System.out.println(offset); // +09:00

final var temporal = OffsetDateTime.of(1900, 1, 2, 12, 30, 0, 0, offset);
System.out.println(temporal); // 1900-01-02T12:30+09:00

System.out.println(LocalDateTime.from(temporal)); // 1900-01-02T12:30

int get (TemporalField field)

Gets the value of the specified field from this date-time as an int.

final var dateTime = LocalDateTime.of(2100, 4, 13, 12, 30, 45, 123);
System.out.println(dateTime); // 2100-04-13T12:30:45.000000123

System.out.println(dateTime.isSupported(ChronoField.YEAR)); // true
System.out.println(dateTime.get(ChronoField.YEAR)); // 2100

System.out.println(dateTime.isSupported(ChronoField.MONTH_OF_YEAR)); // true
System.out.println(dateTime.get(ChronoField.MONTH_OF_YEAR)); // 4

System.out.println(dateTime.isSupported(ChronoField.DAY_OF_MONTH)); // true
System.out.println(dateTime.get(ChronoField.DAY_OF_MONTH)); // 13

System.out.println(dateTime.isSupported(ChronoField.HOUR_OF_DAY)); // true
System.out.println(dateTime.get(ChronoField.HOUR_OF_DAY)); // 12

System.out.println(dateTime.isSupported(ChronoField.MINUTE_OF_HOUR)); // true
System.out.println(dateTime.get(ChronoField.MINUTE_OF_HOUR)); // 30

System.out.println(dateTime.isSupported(ChronoField.SECOND_OF_MINUTE)); // true
System.out.println(dateTime.get(ChronoField.SECOND_OF_MINUTE)); // 45

System.out.println(dateTime.isSupported(ChronoField.NANO_OF_SECOND)); // true
System.out.println(dateTime.get(ChronoField.NANO_OF_SECOND)); // 123
final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00

System.out.println(dateTime.isSupported(ChronoField.OFFSET_SECONDS)); // false

try {
    final var ret = dateTime.get(ChronoField.OFFSET_SECONDS);
} catch (UnsupportedTemporalTypeException e) {
    System.out.println("UnsupportedTemporalTypeException! : " + e.getMessage());
}

// Result
// ↓
//UnsupportedTemporalTypeException! : Unsupported field: OffsetSeconds

int getDayOfMonth ()

Gets the day-of-month field.

final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00
System.out.println(dateTime.getDayOfMonth()); // 1
final var dateTime = LocalDateTime.of(2100, 1, 2, 0, 0);
System.out.println(dateTime); // 2100-01-02T00:00
System.out.println(dateTime.getDayOfMonth()); // 2
final var dateTime = LocalDateTime.of(2100, 1, 3, 0, 0);
System.out.println(dateTime); // 2100-01-03T00:00
System.out.println(dateTime.getDayOfMonth()); // 3
final var dateTime = LocalDateTime.of(2100, 1, 30, 0, 0);
System.out.println(dateTime); // 2100-01-30T00:00
System.out.println(dateTime.getDayOfMonth()); // 30
final var dateTime = LocalDateTime.of(2100, 1, 31, 0, 0);
System.out.println(dateTime); // 2100-01-31T00:00
System.out.println(dateTime.getDayOfMonth()); // 31
final var dateTime = LocalDateTime.of(2100, 2, 1, 0, 0);
System.out.println(dateTime); // 2100-02-01T00:00
System.out.println(dateTime.getDayOfMonth()); // 1

DayOfWeek getDayOfWeek ()

Gets the day-of-week field, which is an enum DayOfWeek.

final var dateTime = LocalDateTime.of(2100, 1, 3, 0, 0);
System.out.println(dateTime); // 2100-01-03T00:00
System.out.println(dateTime.getDayOfWeek()); // SUNDAY
final var dateTime = LocalDateTime.of(2100, 1, 4, 0, 0);
System.out.println(dateTime); // 2100-01-04T00:00
System.out.println(dateTime.getDayOfWeek()); // MONDAY
final var dateTime = LocalDateTime.of(2100, 1, 5, 0, 0);
System.out.println(dateTime); // 2100-01-05T00:00
System.out.println(dateTime.getDayOfWeek()); // TUESDAY
final var dateTime = LocalDateTime.of(2100, 1, 6, 0, 0);
System.out.println(dateTime); // 2100-01-06T00:00
System.out.println(dateTime.getDayOfWeek()); // WEDNESDAY
final var dateTime = LocalDateTime.of(2100, 1, 7, 0, 0);
System.out.println(dateTime); // 2100-01-07T00:00
System.out.println(dateTime.getDayOfWeek()); // THURSDAY
final var dateTime = LocalDateTime.of(2100, 1, 8, 0, 0);
System.out.println(dateTime); // 2100-01-08T00:00
System.out.println(dateTime.getDayOfWeek()); // FRIDAY
final var dateTime = LocalDateTime.of(2100, 1, 9, 0, 0);
System.out.println(dateTime); // 2100-01-09T00:00
System.out.println(dateTime.getDayOfWeek()); // SATURDAY
final var dateTime = LocalDateTime.of(2100, 1, 10, 0, 0);
System.out.println(dateTime); // 2100-01-10T00:00
System.out.println(dateTime.getDayOfWeek()); // SUNDAY

int getDayOfYear ()

Gets the day-of-year field.

final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00
System.out.println(dateTime.getDayOfYear()); // 1
final var dateTime = LocalDateTime.of(2100, 1, 2, 0, 0);
System.out.println(dateTime); // 2100-01-02T00:00
System.out.println(dateTime.getDayOfYear()); // 2
final var dateTime = LocalDateTime.of(2100, 1, 30, 0, 0);
System.out.println(dateTime); // 2100-01-30T00:00
System.out.println(dateTime.getDayOfYear()); // 30
final var dateTime = LocalDateTime.of(2100, 1, 31, 0, 0);
System.out.println(dateTime); // 2100-01-31T00:00
System.out.println(dateTime.getDayOfYear()); // 31
final var dateTime = LocalDateTime.of(2100, 2, 1, 0, 0);
System.out.println(dateTime); // 2100-02-01T00:00
System.out.println(dateTime.getDayOfYear()); // 32
final var dateTime = LocalDateTime.of(2100, 2, 2, 0, 0);
System.out.println(dateTime); // 2100-02-02T00:00
System.out.println(dateTime.getDayOfYear()); // 33
final var dateTime = LocalDateTime.of(2100, 12, 31, 0, 0);
System.out.println(dateTime); // 2100-12-31T00:00
System.out.println(dateTime.getDayOfYear()); // 365
final var dateTime = LocalDateTime.of(2101, 1, 1, 0, 0);
System.out.println(dateTime); // 2101-01-01T00:00
System.out.println(dateTime.getDayOfYear()); // 1

int getHour ()

Gets the hour-of-day field.

final var dateTime = LocalDateTime.of(2100, 1, 1, 14, 30, 15);
System.out.println(dateTime); // 2100-01-01T14:30:15
System.out.println(dateTime.getHour()); // 14

long getLong (TemporalField field)

Gets the value of the specified field from this date-time as a long.

final var dateTime = LocalDateTime.of(2100, 4, 13, 12, 30, 45, 123);
System.out.println(dateTime); // 2100-04-13T12:30:45.000000123

System.out.println(dateTime.getLong(ChronoField.YEAR)); // 2100
System.out.println(dateTime.getLong(ChronoField.MONTH_OF_YEAR)); // 4
System.out.println(dateTime.getLong(ChronoField.DAY_OF_MONTH)); // 13
System.out.println(dateTime.getLong(ChronoField.HOUR_OF_DAY)); // 12
System.out.println(dateTime.getLong(ChronoField.MINUTE_OF_HOUR)); // 30
System.out.println(dateTime.getLong(ChronoField.SECOND_OF_MINUTE)); // 45
System.out.println(dateTime.getLong(ChronoField.NANO_OF_SECOND)); // 123

int getMinute ()

Gets the minute-of-hour field.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15);
System.out.println(dateTime); // 2100-01-01T13:30:15
System.out.println(dateTime.getMinute()); // 30

Month getMonth ()

Gets the month-of-year field using the Month enum.

final var dateTime = LocalDateTime.of(2100, 1, 15, 0, 0);
System.out.println(dateTime); // 2100-01-15T00:00
System.out.println(dateTime.getMonth()); // JANUARY
final var dateTime = LocalDateTime.of(2100, 2, 15, 0, 0);
System.out.println(dateTime); // 2100-02-15T00:00
System.out.println(dateTime.getMonth()); // FEBRUARY
final var dateTime = LocalDateTime.of(2100, 3, 15, 0, 0);
System.out.println(dateTime); // 2100-03-15T00:00
System.out.println(dateTime.getMonth()); // MARCH
final var dateTime = LocalDateTime.of(2100, 12, 15, 0, 0);
System.out.println(dateTime); // 2100-12-15T00:00
System.out.println(dateTime.getMonth()); // DECEMBER
final var dateTime = LocalDateTime.of(2101, 1, 1, 0, 0);
System.out.println(dateTime); // 2101-01-01T00:00
System.out.println(dateTime.getMonth()); // JANUARY

int getMonthValue ()

Gets the month-of-year field from 1 to 12.

final var dateTime = LocalDateTime.of(2100, 1, 15, 0, 0);
System.out.println(dateTime); // 2100-01-15T00:00
System.out.println(dateTime.getMonthValue()); // 1
final var dateTime = LocalDateTime.of(2100, 2, 15, 0, 0);
System.out.println(dateTime); // 2100-02-15T00:00
System.out.println(dateTime.getMonthValue()); // 2
final var dateTime = LocalDateTime.of(2100, 3, 15, 0, 0);
System.out.println(dateTime); // 2100-03-15T00:00
System.out.println(dateTime.getMonthValue()); // 3
final var dateTime = LocalDateTime.of(2100, 12, 15, 0, 0);
System.out.println(dateTime); // 2100-12-15T00:00
System.out.println(dateTime.getMonthValue()); // 12
final var dateTime = LocalDateTime.of(2101, 1, 1, 0, 0);
System.out.println(dateTime); // 2101-01-01T00:00
System.out.println(dateTime.getMonthValue()); // 1

int getNano ()

Gets the nano-of-second field.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15);
System.out.println(dateTime); // 2100-01-01T13:30:15
System.out.println(dateTime.getNano()); // 0
final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15, 123456789);
System.out.println(dateTime); // 2100-01-01T13:30:15.123456789
System.out.println(dateTime.getNano()); // 123456789

int getSecond ()

Gets the second-of-minute field.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15);
System.out.println(dateTime); // 2100-01-01T13:30:15
System.out.println(dateTime.getSecond()); // 15

int getYear ()

Gets the year field.

final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00
System.out.println(dateTime.getYear()); // 2100
final var dateTime = LocalDateTime.of(1900, 1, 1, 0, 0);
System.out.println(dateTime); // 1900-01-01T00:00
System.out.println(dateTime.getYear()); // 1900
final var dateTime = LocalDateTime.of(-3000, 1, 1, 0, 0);
System.out.println(dateTime); // -3000-01-01T00:00
System.out.println(dateTime.getYear()); // -3000
final var dateTime = LocalDateTime.of(9999, 1, 1, 0, 0);
System.out.println(dateTime); // 9999-01-01T00:00
System.out.println(dateTime.getYear()); // 9999

int hashCode ()

A hash code for this date-time.

final var ret1 = LocalDateTime.of(2100, 1, 1, 0, 0).hashCode();
System.out.println(ret1); // 4302913

final var ret2 = LocalDateTime.of(1900, 4, 13, 12, 30, 40, 123).hashCode();
System.out.println(ret2); // -1324865152

final var ret3 = LocalDateTime.MIN.hashCode();
System.out.println(ret3); // -304793535

final var ret4 = LocalDateTime.MAX.hashCode();
System.out.println(ret4); // 2090566260

boolean isAfter (ChronoLocalDateTime<?> other)

Checks if this date-time is after the specified date-time.

final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00

final var dateTime2 = LocalDateTime.of(2099, 1, 1, 0, 0);
final var dateTime3 = LocalDateTime.of(2100, 1, 1, 0, 0);
final var dateTime4 = LocalDateTime.of(2101, 1, 1, 0, 0);

System.out.println(dateTime2); // 2099-01-01T00:00
System.out.println(dateTime3); // 2100-01-01T00:00
System.out.println(dateTime4); // 2101-01-01T00:00

System.out.println(dateTime.isAfter(dateTime2)); // true
System.out.println(dateTime.isAfter(dateTime3)); // false
System.out.println(dateTime.isAfter(dateTime4)); // false
final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 0);
System.out.println(dateTime); // 2100-01-01T13:00

final var dateTime2 = LocalDateTime.of(2100, 1, 1, 13, 0);
final var dateTime3 = LocalDateTime.of(2100, 1, 1, 13, 0, 1);
final var dateTime4 = LocalDateTime.of(2100, 1, 1, 12, 59);

System.out.println(dateTime2); // 2100-01-01T13:00
System.out.println(dateTime3); // 2100-01-01T13:00:01
System.out.println(dateTime4); // 2100-01-01T12:59

System.out.println(dateTime.isAfter(dateTime2)); // false
System.out.println(dateTime.isAfter(dateTime3)); // false
System.out.println(dateTime.isAfter(dateTime4)); // true

boolean isBefore (ChronoLocalDateTime<?> other)

Checks if this date-time is before the specified date-time.

final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00

final var dateTime2 = LocalDateTime.of(2099, 1, 1, 0, 0);
final var dateTime3 = LocalDateTime.of(2100, 1, 1, 0, 0);
final var dateTime4 = LocalDateTime.of(2101, 1, 1, 0, 0);

System.out.println(dateTime2); // 2099-01-01T00:00
System.out.println(dateTime3); // 2100-01-01T00:00
System.out.println(dateTime4); // 2101-01-01T00:00

System.out.println(dateTime.isBefore(dateTime2)); // false
System.out.println(dateTime.isBefore(dateTime3)); // false
System.out.println(dateTime.isBefore(dateTime4)); // true
final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 0);
System.out.println(dateTime); // 2100-01-01T13:00

final var dateTime2 = LocalDateTime.of(2100, 1, 1, 13, 0);
final var dateTime3 = LocalDateTime.of(2100, 1, 1, 13, 0, 1);
final var dateTime4 = LocalDateTime.of(2100, 1, 1, 12, 59);

System.out.println(dateTime2); // 2100-01-01T13:00
System.out.println(dateTime3); // 2100-01-01T13:00:01
System.out.println(dateTime4); // 2100-01-01T12:59

System.out.println(dateTime.isBefore(dateTime2)); // false
System.out.println(dateTime.isBefore(dateTime3)); // true
System.out.println(dateTime.isBefore(dateTime4)); // false

boolean isEqual (ChronoLocalDateTime<?> other)

Checks if this date-time is equal to the specified date-time.

final var dateTime1 = LocalDateTime.of(2100, 6, 30, 12, 0);
final var dateTime2 = LocalDateTime.of(2100, 7, 1, 12, 0);

System.out.println(dateTime1); // 2100-06-30T12:00
System.out.println(dateTime2); // 2100-07-01T12:00

System.out.println(dateTime1.isEqual(dateTime2)); // false
System.out.println(dateTime1.isEqual(dateTime1)); // true
System.out.println(dateTime2.isEqual(dateTime1)); // false
final var dateTime1 = LocalDateTime.of(1900, 1, 1, 13, 0);
final var dateTime2 = LocalDateTime.of(1900, 1, 1, 12, 59);

System.out.println(dateTime1); // 1900-01-01T13:00
System.out.println(dateTime2); // 1900-01-01T12:59

System.out.println(dateTime1.isEqual(dateTime2)); // false
System.out.println(dateTime1.isEqual(dateTime1)); // true
System.out.println(dateTime2.isEqual(dateTime1)); // false

boolean isSupported (TemporalField field)

Checks if the specified field is supported.

final var dateTime = LocalDateTime.of(2100, 4, 13, 12, 30, 45, 123);
System.out.println(dateTime); // 2100-04-13T12:30:45.000000123

System.out.println(dateTime.isSupported(ChronoField.YEAR)); // true
System.out.println(dateTime.get(ChronoField.YEAR)); // 2100

System.out.println(dateTime.isSupported(ChronoField.MONTH_OF_YEAR)); // true
System.out.println(dateTime.get(ChronoField.MONTH_OF_YEAR)); // 4

System.out.println(dateTime.isSupported(ChronoField.DAY_OF_MONTH)); // true
System.out.println(dateTime.get(ChronoField.DAY_OF_MONTH)); // 13

System.out.println(dateTime.isSupported(ChronoField.HOUR_OF_DAY)); // true
System.out.println(dateTime.get(ChronoField.HOUR_OF_DAY)); // 12

System.out.println(dateTime.isSupported(ChronoField.MINUTE_OF_HOUR)); // true
System.out.println(dateTime.get(ChronoField.MINUTE_OF_HOUR)); // 30

System.out.println(dateTime.isSupported(ChronoField.SECOND_OF_MINUTE)); // true
System.out.println(dateTime.get(ChronoField.SECOND_OF_MINUTE)); // 45

System.out.println(dateTime.isSupported(ChronoField.NANO_OF_SECOND)); // true
System.out.println(dateTime.get(ChronoField.NANO_OF_SECOND)); // 123
final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00

System.out.println(dateTime.isSupported(ChronoField.OFFSET_SECONDS)); // false

try {
    final var ret = dateTime.get(ChronoField.OFFSET_SECONDS);
} catch (UnsupportedTemporalTypeException e) {
    System.out.println("UnsupportedTemporalTypeException! : " + e.getMessage());
}

// Result
// ↓
//UnsupportedTemporalTypeException! : Unsupported field: OffsetSeconds

boolean isSupported (TemporalUnit unit)

Checks if the specified unit is supported.

final var dateTime = LocalDateTime.of(2100, 4, 13, 12, 30, 45, 123);
System.out.println(dateTime); // 2100-04-13T12:30:45.000000123

System.out.println(dateTime.isSupported(ChronoUnit.YEARS)); // true
System.out.println(dateTime.isSupported(ChronoUnit.MONTHS)); // true
System.out.println(dateTime.isSupported(ChronoUnit.WEEKS)); // true
System.out.println(dateTime.isSupported(ChronoUnit.DAYS)); // true

System.out.println(dateTime.isSupported(ChronoUnit.HOURS)); // true
System.out.println(dateTime.isSupported(ChronoUnit.MINUTES)); // true
System.out.println(dateTime.isSupported(ChronoUnit.SECONDS)); // true
System.out.println(dateTime.isSupported(ChronoUnit.NANOS)); // true

System.out.println(dateTime.isSupported(ChronoUnit.FOREVER)); // false

LocalDateTime minus (long amountToSubtract, TemporalUnit unit)

Returns a copy of this date-time with the specified amount subtracted.

final var dateTime = LocalDateTime.of(2100, 4, 13, 0, 0);
System.out.println(dateTime); // 2100-04-13T00:00

final var ret1 = dateTime.minus(1, ChronoUnit.YEARS);
System.out.println(ret1); // 2099-04-13T00:00

final var ret2 = dateTime.minus(2, ChronoUnit.MONTHS);
System.out.println(ret2); // 2100-02-13T00:00

final var ret3 = dateTime.minus(3, ChronoUnit.DAYS);
System.out.println(ret3); // 2100-04-10T00:00
final var dateTime = LocalDateTime.of(2100, 1, 1, 10, 20, 30, 123);
System.out.println(dateTime); // 2100-01-01T10:20:30.000000123

final var ret1 = dateTime.minus(1, ChronoUnit.HOURS);
System.out.println(ret1); // 2100-01-01T09:20:30.000000123

final var ret2 = dateTime.minus(2, ChronoUnit.MINUTES);
System.out.println(ret2); // 2100-01-01T10:18:30.000000123

final var ret3 = dateTime.minus(3, ChronoUnit.SECONDS);
System.out.println(ret3); // 2100-01-01T10:20:27.000000123

final var ret4 = dateTime.minus(4, ChronoUnit.NANOS);
System.out.println(ret4); // 2100-01-01T10:20:30.000000119
final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00

final var ret1 = dateTime.minus(1, ChronoUnit.HOURS);
System.out.println(ret1); // 2099-12-31T23:00

final var ret2 = dateTime.minus(365, ChronoUnit.DAYS);
System.out.println(ret2); // 2099-01-01T00:00

final var ret3 = dateTime.minus(3000, ChronoUnit.YEARS);
System.out.println(ret3); // -0900-01-01T00:00

LocalDateTime minus (TemporalAmount amountToSubtract)

Returns a copy of this date-time with the specified amount subtracted.

final var dateTime = LocalDateTime.of(2100, 4, 13, 0, 0);
System.out.println(dateTime); // 2100-04-13T00:00

final var ret1 = dateTime.minus(Period.ofYears(1));
System.out.println(ret1); // 2099-04-13T00:00

final var ret2 = dateTime.minus(Period.ofMonths(2));
System.out.println(ret2); // 2100-02-13T00:00

final var ret3 = dateTime.minus(Period.ofDays(3));
System.out.println(ret3); // 2100-04-10T00:00
final var dateTime = LocalDateTime.of(2100, 1, 1, 10, 20, 30, 123);
System.out.println(dateTime); // 2100-01-01T10:20:30.000000123

final var ret1 = dateTime.minus(Duration.ofHours(1));
System.out.println(ret1); // 2100-01-01T09:20:30.000000123

final var ret2 = dateTime.minus(Duration.ofMinutes(2));
System.out.println(ret2); // 2100-01-01T10:18:30.000000123

final var ret3 = dateTime.minus(Duration.ofSeconds(3));
System.out.println(ret3); // 2100-01-01T10:20:27.000000123

final var ret4 = dateTime.minus(Duration.ofNanos(4));
System.out.println(ret4); // 2100-01-01T10:20:30.000000119
final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00

final var ret1 = dateTime.minus(Duration.ofHours(1));
System.out.println(ret1); // 2099-12-31T23:00

final var ret2 = dateTime.minus(Period.ofDays(365));
System.out.println(ret2); // 2099-01-01T00:00

final var ret3 = dateTime.minus(Period.ofYears(3000));
System.out.println(ret3); // -0900-01-01T00:00

LocalDateTime minusDays (long days)

Returns a copy of this LocalDateTime with the specified number of days subtracted.

final var dateTime = LocalDateTime.of(2100, 5, 20, 0, 0);
System.out.println(dateTime); // 2100-05-20T00:00

System.out.println(dateTime.minusDays(1)); // 2100-05-19T00:00
System.out.println(dateTime.minusDays(2)); // 2100-05-18T00:00
System.out.println(dateTime.minusDays(20)); // 2100-04-30T00:00
System.out.println(dateTime.minusDays(365)); // 2099-05-20T00:00
final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0);
System.out.println(dateTime); // 2100-01-01T00:00

System.out.println(dateTime.minusDays(1)); // 2099-12-31T00:00

LocalDateTime minusHours (long hours)

Returns a copy of this LocalDateTime with the specified number of hours subtracted.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15);
System.out.println(dateTime); // 2100-01-01T13:30:15

System.out.println(dateTime.minusHours(1)); // 2100-01-01T12:30:15
System.out.println(dateTime.minusHours(2)); // 2100-01-01T11:30:15
System.out.println(dateTime.minusHours(13)); // 2100-01-01T00:30:15
System.out.println(dateTime.minusHours(14)); // 2099-12-31T23:30:15

LocalDateTime minusMinutes (long minutes)

Returns a copy of this LocalDateTime with the specified number of minutes subtracted.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30);
System.out.println(dateTime); // 2100-01-01T13:30

System.out.println(dateTime.minusMinutes(1)); // 2100-01-01T13:29
System.out.println(dateTime.minusMinutes(2)); // 2100-01-01T13:28
System.out.println(dateTime.minusMinutes(30)); // 2100-01-01T13:00
System.out.println(dateTime.minusMinutes(31)); // 2100-01-01T12:59
System.out.println(dateTime.minusMinutes(60 * 14)); // 2099-12-31T23:30

LocalDateTime minusMonths (long months)

Returns a copy of this LocalDateTime with the specified number of months subtracted.

final var dateTime = LocalDateTime.of(2100, 5, 20, 0, 0);
System.out.println(dateTime); // 2100-05-20T00:00

System.out.println(dateTime.minusMonths(1)); // 2100-04-20T00:00
System.out.println(dateTime.minusMonths(2)); // 2100-03-20T00:00
System.out.println(dateTime.minusMonths(12)); // 2099-05-20T00:00
final var dateTime = LocalDateTime.of(2101, 3, 31, 0, 0);
System.out.println(dateTime); // 2101-03-31T00:00

System.out.println(dateTime.minusMonths(1)); // 2101-02-28T00:00

LocalDateTime minusNanos (long nanos)

Returns a copy of this LocalDateTime with the specified number of nanoseconds subtracted.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15, 123);
System.out.println(dateTime); // 2100-01-01T13:30:15.000000123

System.out.println(dateTime.minusNanos(1)); // 2100-01-01T13:30:15.000000122
System.out.println(dateTime.minusNanos(2)); // 2100-01-01T13:30:15.000000121
System.out.println(dateTime.minusNanos(123)); // 2100-01-01T13:30:15
System.out.println(dateTime.minusNanos(124)); // 2100-01-01T13:30:14.999999999

LocalDateTime minusSeconds (long seconds)

Returns a copy of this LocalDateTime with the specified number of seconds subtracted.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15);
System.out.println(dateTime); // 2100-01-01T13:30:15

System.out.println(dateTime.minusSeconds(1)); // 2100-01-01T13:30:14
System.out.println(dateTime.minusSeconds(2)); // 2100-01-01T13:30:13
System.out.println(dateTime.minusSeconds(15)); // 2100-01-01T13:30
System.out.println(dateTime.minusSeconds(16)); // 2100-01-01T13:29:59
System.out.println(dateTime.minusSeconds(60 * 60)); // 2100-01-01T12:30:15
System.out.println(dateTime.minusSeconds(60 * 60 * 24)); // 2099-12-31T13:30:15

LocalDateTime minusWeeks (long weeks)

Returns a copy of this LocalDateTime with the specified number of weeks subtracted.

final var dateTime = LocalDateTime.of(2100, 5, 20, 0, 0);
System.out.println(dateTime); // 2100-05-20T00:00

System.out.println(dateTime.minusWeeks(1)); // 2100-05-13T00:00
System.out.println(dateTime.minusWeeks(2)); // 2100-05-06T00:00
System.out.println(dateTime.minusWeeks(20)); // 2099-12-31T00:00
System.out.println(dateTime.minusWeeks(100)); // 2098-06-19T00:00
final var dateTime = LocalDateTime.of(2100, 1, 7, 0, 0);
System.out.println(dateTime); // 2100-01-07T00:00

System.out.println(dateTime.minusWeeks(1)); // 2099-12-31T00:00

LocalDateTime minusYears (long years)

Returns a copy of this LocalDateTime with the specified number of years subtracted.

final var dateTime = LocalDateTime.of(2103, 5, 20, 0, 0);
System.out.println(dateTime); // 2103-05-20T00:00

System.out.println(dateTime.minusYears(1)); // 2102-05-20T00:00
System.out.println(dateTime.minusYears(2)); // 2101-05-20T00:00
System.out.println(dateTime.minusYears(10)); // 2093-05-20T00:00
final var dateTime = LocalDateTime.of(2104, 2, 29, 0, 0);
System.out.println(dateTime); // 2104-02-29T00:00
System.out.println(dateTime.minusYears(1)); // 2103-02-28T00:00

static LocalDateTime now ()

Obtains the current date-time from the system clock in the default time-zone.

final var dateTime = LocalDateTime.now();
System.out.println(dateTime); // 2024-05-18T16:34:31.603367500

static LocalDateTime now (Clock clock)

Obtains the current date-time from the specified clock.

// A clock advanced 5 days.
final var clock = Clock.offset(Clock.systemDefaultZone(), Duration.ofDays(5));

System.out.println(LocalDateTime.now()); // 2024-05-18T16:35:07.450483800
System.out.println(LocalDateTime.now(clock)); // 2024-05-23T16:35:07.451482800

static LocalDateTime now (ZoneId zone)

Obtains the current date-time from the system clock in the specified time-zone.

final var zone1 = ZoneId.systemDefault();
System.out.println(zone1); // America/Los_Angeles

final var zone2 = ZoneId.of("Asia/Tokyo");
System.out.println(zone2); // Asia/Tokyo

System.out.println(LocalDateTime.now(zone1)); // 2024-05-18T00:37:25.996489
System.out.println(LocalDateTime.now(zone2)); // 2024-05-18T16:37:25.998487500

static LocalDateTime of (int year, int month, int dayOfMonth, int hour, int minute)

Obtains an instance of LocalDateTime from year, month, day, hour and minute, setting the second and nanosecond to zero.

System.out.println(LocalDateTime.of(2100, 4, 14, 13, 30)); // 2100-04-14T13:30
System.out.println(LocalDateTime.of(1900, 2, 28, 0, 0)); // 1900-02-28T00:00
System.out.println(LocalDateTime.of(-999, 12, 1, 23, 59)); // -0999-12-01T23:59

static LocalDateTime of (int year, int month, int dayOfMonth, int hour, int minute, int second)

Obtains an instance of LocalDateTime from year, month, day, hour, minute and second, setting the nanosecond to zero.

System.out.println(LocalDateTime.of(2100, 4, 14, 13, 30, 10)); // 2100-04-14T13:30:10
System.out.println(LocalDateTime.of(1900, 2, 28, 0, 0, 0)); // 1900-02-28T00:00
System.out.println(LocalDateTime.of(-999, 12, 1, 23, 59, 59)); // -0999-12-01T23:59:59

static LocalDateTime of (int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)

Obtains an instance of LocalDateTime from year, month, day, hour, minute, second and nanosecond.

final var dateTime1 = LocalDateTime.of(2100, 4, 14, 13, 30, 10, 123);
System.out.println(dateTime1); // 2100-04-14T13:30:10.000000123

final var dateTime2 = LocalDateTime.of(1900, 2, 28, 0, 0, 0, 0);
System.out.println(dateTime2); // 1900-02-28T00:00

final var dateTime3 = LocalDateTime.of(-999, 12, 1, 23, 59, 59, 999999999);
System.out.println(dateTime3); // -0999-12-01T23:59:59.999999999

static LocalDateTime of (int year, Month month, int dayOfMonth, int hour, int minute)

Obtains an instance of LocalDateTime from year, month, day, hour and minute, setting the second and nanosecond to zero.

final var dateTime1 = LocalDateTime.of(2100, Month.APRIL, 14, 13, 30);
System.out.println(dateTime1); // 2100-04-14T13:30

final var dateTime2 = LocalDateTime.of(1900, Month.FEBRUARY, 28, 0, 0);
System.out.println(dateTime2); // 1900-02-28T00:00

final var dateTime3 = LocalDateTime.of(-999, Month.DECEMBER, 1, 23, 59);
System.out.println(dateTime3); // -0999-12-01T23:59

static LocalDateTime of (int year, Month month, int dayOfMonth, int hour, int minute, int second)

Obtains an instance of LocalDateTime from year, month, day, hour, minute and second, setting the nanosecond to zero.

final var dateTime1 = LocalDateTime.of(2100, Month.APRIL, 14, 13, 30, 10);
System.out.println(dateTime1); // 2100-04-14T13:30:10

final var dateTime2 = LocalDateTime.of(1900, Month.FEBRUARY, 28, 0, 0, 0);
System.out.println(dateTime2); // 1900-02-28T00:00

final var dateTime3 = LocalDateTime.of(-999, Month.DECEMBER, 1, 23, 59, 59);
System.out.println(dateTime3); // -0999-12-01T23:59:59

static LocalDateTime of (int year, Month month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)

Obtains an instance of LocalDateTime from year, month, day, hour, minute, second and nanosecond.

final var dateTime1 = LocalDateTime.of(2100, Month.APRIL, 14, 13, 30, 10, 123);
System.out.println(dateTime1); // 2100-04-14T13:30:10.000000123

final var dateTime2 = LocalDateTime.of(1900, Month.FEBRUARY, 28, 0, 0, 0, 0);
System.out.println(dateTime2); // 1900-02-28T00:00

final var dateTime3 = LocalDateTime.of(-999, Month.DECEMBER, 1, 23, 59, 59, 999999999);
System.out.println(dateTime3); // -0999-12-01T23:59:59.999999999

static LocalDateTime of (LocalDate date, LocalTime time)

Obtains an instance of LocalDateTime from a date and time.

final var date = LocalDate.of(2100, Month.APRIL, 14);
System.out.println(date); // 2100-04-14

final var time = LocalTime.of(13, 30, 10);
System.out.println(time); // 13:30:10

System.out.println(LocalDateTime.of(date, time)); // 2100-04-14T13:30:10
final var date = LocalDate.of(1900, Month.FEBRUARY, 28);
System.out.println(date); // 1900-02-28

System.out.println(LocalDateTime.of(date, LocalTime.MIN)); // 1900-02-28T00:00

static LocalDateTime ofEpochSecond (long epochSecond, int nanoOfSecond, ZoneOffset offset)

Obtains an instance of LocalDateTime using seconds from the epoch of 1970-01-01T00:00:00Z.

final var epochSecond = 4102444800L;
System.out.println(Instant.ofEpochSecond(epochSecond)); // 2100-01-01T00:00:00Z

final var dateTime1 = LocalDateTime.ofEpochSecond(epochSecond, 0, ZoneOffset.UTC);
System.out.println(dateTime1); // 2100-01-01T00:00

final var dateTime2 = LocalDateTime.ofEpochSecond(epochSecond, 0, ZoneOffset.ofHours(-9));
System.out.println(dateTime2); // 2099-12-31T15:00

final var dateTime3 = LocalDateTime.ofEpochSecond(epochSecond, 123, ZoneOffset.UTC);
System.out.println(dateTime3); // 2100-01-01T00:00:00.000000123

static LocalDateTime ofInstant (Instant instant, ZoneId zone)

Obtains an instance of LocalDateTime from an Instant and zone ID.

final var instant = Instant.ofEpochSecond(4102444800L);
System.out.println(instant); // 2100-01-01T00:00:00Z

final var dateTime1 = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);
System.out.println(dateTime1); // 2100-01-01T00:00

final var zoneId = ZoneId.systemDefault();
System.out.println(zoneId); // America/Los_Angeles

final var dateTime2 = LocalDateTime.ofInstant(instant, zoneId);
System.out.println(dateTime2); // 2099-12-31T16:00

static LocalDateTime parse (CharSequence text)

Obtains an instance of LocalDateTime from a text string such as 2007-12-03T10:15:30.

final var ret1 = LocalDateTime.parse("2100-04-14T00:00");
System.out.println(ret1); // 2100-04-14T00:00

final var ret2 = LocalDateTime.parse("2100-04-14T13:30:45");
System.out.println(ret2); // 2100-04-14T13:30:45

final var ret3 = LocalDateTime.parse("2100-04-14T13:30:45.123456789");
System.out.println(ret3); // 2100-04-14T13:30:45.123456789
try {
    final var ret = LocalDateTime.parse("2100/04/14 00:00");
} catch (DateTimeParseException e) {
    System.out.println("DateTimeParseException! : " + e.getMessage());
}

// Result
// ↓
//DateTimeParseException! : Text '2100/04/14 00:00' could not be parsed at index 4

static LocalDateTime parse (CharSequence text, DateTimeFormatter formatter)

Obtains an instance of LocalDateTime from a text string using a specific formatter.

final var ret = LocalDateTime.parse(
        "2100-04-14T12:30:45", DateTimeFormatter.ISO_LOCAL_DATE_TIME);
System.out.println(ret); // 2100-04-14T12:30:45
System.out.println(Locale.getDefault().toLanguageTag()); // en-US

final var dateTime = LocalDateTime.of(2100, 4, 7, 1, 30, 45);
System.out.println(dateTime); // 2100-04-07T01:30:45

final var formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
final var formatted = dateTime.format(formatter);
System.out.println(formatted); // Apr 7, 2100, 1:30:45 AM

final var ret = LocalDateTime.parse(formatted, formatter);
System.out.println(ret); // 2100-04-07T01:30:45

LocalDateTime plus (long amountToAdd, TemporalUnit unit)

Returns a copy of this date-time with the specified amount added.

final var dateTime = LocalDateTime.of(2100, 4, 13, 0, 0);
System.out.println(dateTime); // 2100-04-13T00:00

final var ret1 = dateTime.plus(1, ChronoUnit.YEARS);
System.out.println(ret1); // 2101-04-13T00:00

final var ret2 = dateTime.plus(2, ChronoUnit.MONTHS);
System.out.println(ret2); // 2100-06-13T00:00

final var ret3 = dateTime.plus(3, ChronoUnit.DAYS);
System.out.println(ret3); // 2100-04-16T00:00
final var dateTime = LocalDateTime.of(2100, 1, 1, 10, 20, 30, 123);
System.out.println(dateTime); // 2100-01-01T10:20:30.000000123

final var ret1 = dateTime.plus(1, ChronoUnit.HOURS);
System.out.println(ret1); // 2100-01-01T11:20:30.000000123

final var ret2 = dateTime.plus(2, ChronoUnit.MINUTES);
System.out.println(ret2); // 2100-01-01T10:22:30.000000123

final var ret3 = dateTime.plus(3, ChronoUnit.SECONDS);
System.out.println(ret3); // 2100-01-01T10:20:33.000000123

final var ret4 = dateTime.plus(4, ChronoUnit.NANOS);
System.out.println(ret4); // 2100-01-01T10:20:30.000000127
final var dateTime = LocalDateTime.of(2100, 12, 31, 23, 0);
System.out.println(dateTime); // 2100-12-31T23:00

final var ret1 = dateTime.plus(1, ChronoUnit.HOURS);
System.out.println(ret1); // 2101-01-01T00:00

final var ret2 = dateTime.plus(366, ChronoUnit.DAYS);
System.out.println(ret2); // 2102-01-01T23:00

final var ret3 = dateTime.plus(3000, ChronoUnit.YEARS);
System.out.println(ret3); // 5100-12-31T23:00

LocalDateTime plus (TemporalAmount amountToAdd)

Returns a copy of this date-time with the specified amount added.

final var dateTime = LocalDateTime.of(2100, 4, 13, 0, 0);
System.out.println(dateTime); // 2100-04-13T00:00

final var ret1 = dateTime.plus(Period.ofYears(1));
System.out.println(ret1); // 2101-04-13T00:00

final var ret2 = dateTime.plus(Period.ofMonths(2));
System.out.println(ret2); // 2100-06-13T00:00

final var ret3 = dateTime.plus(Period.ofDays(3));
System.out.println(ret3); // 2100-04-16T00:00
final var dateTime = LocalDateTime.of(2100, 1, 1, 10, 20, 30, 123);
System.out.println(dateTime); // 2100-01-01T10:20:30.000000123

final var ret1 = dateTime.plus(Duration.ofHours(1));
System.out.println(ret1); // 2100-01-01T11:20:30.000000123

final var ret2 = dateTime.plus(Duration.ofMinutes(2));
System.out.println(ret2); // 2100-01-01T10:22:30.000000123

final var ret3 = dateTime.plus(Duration.ofSeconds(3));
System.out.println(ret3); // 2100-01-01T10:20:33.000000123

final var ret4 = dateTime.plus(Duration.ofNanos(4));
System.out.println(ret4); // 2100-01-01T10:20:30.000000127
final var dateTime = LocalDateTime.of(2100, 12, 31, 23, 0);
System.out.println(dateTime); // 2100-12-31T23:00

final var ret1 = dateTime.plus(Duration.ofHours(1));
System.out.println(ret1); // 2101-01-01T00:00

final var ret2 = dateTime.plus(Period.ofDays(366));
System.out.println(ret2); // 2102-01-01T23:00

final var ret3 = dateTime.plus(Period.ofYears(3000));
System.out.println(ret3); // 5100-12-31T23:00

LocalDateTime plusDays (long days)

Returns a copy of this LocalDateTime with the specified number of days added.

final var dateTime = LocalDateTime.of(2100, 5, 20, 0, 0);
System.out.println(dateTime); // 2100-05-20T00:00

System.out.println(dateTime.plusDays(1)); // 2100-05-21T00:00
System.out.println(dateTime.plusDays(2)); // 2100-05-22T00:00
System.out.println(dateTime.plusDays(12)); // 2100-06-01T00:00
System.out.println(dateTime.plusDays(365)); // 2101-05-20T00:00
final var dateTime = LocalDateTime.of(2099, 12, 31, 0, 0);
System.out.println(dateTime); // 2099-12-31T00:00

System.out.println(dateTime.plusDays(1)); // 2100-01-01T00:00

LocalDateTime plusHours (long hours)

Returns a copy of this LocalDateTime with the specified number of hours added.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 0);
System.out.println(dateTime); // 2100-01-01T13:00

System.out.println(dateTime.plusHours(1)); // 2100-01-01T14:00
System.out.println(dateTime.plusHours(2)); // 2100-01-01T15:00
System.out.println(dateTime.plusHours(11)); // 2100-01-02T00:00
System.out.println(dateTime.plusHours(12)); // 2100-01-02T01:00

LocalDateTime plusMinutes (long minutes)

Returns a copy of this LocalDateTime with the specified number of minutes added.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30);
System.out.println(dateTime); // 2100-01-01T13:30

System.out.println(dateTime.plusMinutes(1)); // 2100-01-01T13:31
System.out.println(dateTime.plusMinutes(2)); // 2100-01-01T13:32
System.out.println(dateTime.plusMinutes(30)); // 2100-01-01T14:00
System.out.println(dateTime.plusMinutes(31)); // 2100-01-01T14:01
System.out.println(dateTime.plusMinutes(60 * 24)); // 2100-01-02T13:30
System.out.println(dateTime.plusMinutes(60 * 24 * 365)); // 2101-01-01T13:30

LocalDateTime plusMonths (long months)

Returns a copy of this LocalDateTime with the specified number of months added.

final var dateTime = LocalDateTime.of(2100, 5, 20, 0, 0);
System.out.println(dateTime); // 2100-05-20T00:00

System.out.println(dateTime.plusMonths(1)); // 2100-06-20T00:00
System.out.println(dateTime.plusMonths(2)); // 2100-07-20T00:00
System.out.println(dateTime.plusMonths(12)); // 2101-05-20T00:00
final var dateTime = LocalDateTime.of(2101, 3, 31, 0, 0);
System.out.println(dateTime); // 2101-03-31T00:00

System.out.println(dateTime.plusMonths(1)); // 2101-04-30T00:00

LocalDateTime plusNanos (long nanos)

Returns a copy of this LocalDateTime with the specified number of nanoseconds added.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15, 123);
System.out.println(dateTime); // 2100-01-01T13:30:15.000000123

System.out.println(dateTime.plusNanos(1)); // 2100-01-01T13:30:15.000000124
System.out.println(dateTime.plusNanos(2)); // 2100-01-01T13:30:15.000000125

final var ret1 = dateTime.plusNanos(1000000000L - 124);
System.out.println(ret1); // 2100-01-01T13:30:15.999999999

final var ret2 = dateTime.plusNanos(1000000000L - 123);
System.out.println(ret2); // 2100-01-01T13:30:16

LocalDateTime plusSeconds (long seconds)

Returns a copy of this LocalDateTime with the specified number of seconds added.

final var dateTime = LocalDateTime.of(2100, 1, 1, 13, 30, 15);
System.out.println(dateTime); // 2100-01-01T13:30:15

System.out.println(dateTime.plusSeconds(1)); // 2100-01-01T13:30:16
System.out.println(dateTime.plusSeconds(2)); // 2100-01-01T13:30:17
System.out.println(dateTime.plusSeconds(45)); // 2100-01-01T13:31
System.out.println(dateTime.plusSeconds(46)); // 2100-01-01T13:31:01
System.out.println(dateTime.plusSeconds(60 + 45)); // 2100-01-01T13:32
System.out.println(dateTime.plusSeconds(60 * 60)); // 2100-01-01T14:30:15
System.out.println(dateTime.plusSeconds(60 * 60 * 24)); // 2100-01-02T13:30:15

LocalDateTime plusWeeks (long weeks)

Returns a copy of this LocalDateTime with the specified number of weeks added.

final var dateTime = LocalDateTime.of(2100, 5, 20, 0, 0);
System.out.println(dateTime); // 2100-05-20T00:00

System.out.println(dateTime.plusWeeks(1)); // 2100-05-27T00:00
System.out.println(dateTime.plusWeeks(2)); // 2100-06-03T00:00
System.out.println(dateTime.plusWeeks(20)); // 2100-10-07T00:00
System.out.println(dateTime.plusWeeks(100)); // 2102-04-20T00:00
final var dateTime = LocalDateTime.of(2100, 12, 31, 0, 0);
System.out.println(dateTime); // 2100-12-31T00:00

System.out.println(dateTime.plusWeeks(1)); // 2101-01-07T00:00

LocalDateTime plusYears (long years)

Returns a copy of this LocalDateTime with the specified number of years added.

final var dateTime = LocalDateTime.of(2103, 5, 20, 0, 0);
System.out.println(dateTime); // 2103-05-20T00:00

System.out.println(dateTime.plusYears(1)); // 2104-05-20T00:00
System.out.println(dateTime.plusYears(2)); // 2105-05-20T00:00
System.out.println(dateTime.plusYears(10)); // 2113-05-20T00:00
final var dateTime = LocalDateTime.of(2104, 2, 29, 0, 0);
System.out.println(dateTime); // 2104-02-29T00:00

System.out.println(dateTime.plusYears(1)); // 2105-02-28T00:00

<R> R query (TemporalQuery<R> query)

Queries this date-time using the specified query.

final var dateTime = LocalDateTime.of(2100, 4, 14, 12, 30);
System.out.println(dateTime); // 2100-04-14T12:30

System.out.println(dateTime.query(TemporalQueries.localDate())); // 2100-04-14
System.out.println(dateTime.query(TemporalQueries.localTime())); // 12:30
System.out.println(dateTime.query(TemporalQueries.precision())); // Nanos

ValueRange range (TemporalField field)

Gets the range of valid values for the specified field.

final var dateTime = LocalDateTime.of(2100, 4, 14, 0, 0);
System.out.println(dateTime); // 2100-04-14T00:00
System.out.println(dateTime.range(ChronoField.YEAR)); // -999999999 - 999999999
System.out.println(dateTime.range(ChronoField.MONTH_OF_YEAR)); // 1 - 12
System.out.println(dateTime.range(ChronoField.DAY_OF_MONTH)); // 1 - 30

System.out.println(dateTime.range(ChronoField.HOUR_OF_DAY)); // 0 - 23
System.out.println(dateTime.range(ChronoField.MINUTE_OF_HOUR)); // 0 - 59
System.out.println(dateTime.range(ChronoField.SECOND_OF_MINUTE)); // 0 - 59
System.out.println(dateTime.range(ChronoField.NANO_OF_SECOND)); // 0 - 999999999
final var dateTime1 = LocalDateTime.of(2103, 2, 1, 0, 0);
System.out.println(dateTime1); // 2103-02-01T00:00
System.out.println(dateTime1.range(ChronoField.DAY_OF_MONTH)); // 1 - 28

final var dateTime2 = LocalDateTime.of(2104, 2, 1, 0, 0);
System.out.println(dateTime2); // 2104-02-01T00:00
System.out.println(dateTime2.range(ChronoField.DAY_OF_MONTH)); // 1 - 29

LocalDate toLocalDate ()

Gets the LocalDate part of this date-time.

final var dateTime = LocalDateTime.of(2100, 4, 14, 12, 30, 45);
System.out.println(dateTime); // 2100-04-14T12:30:45
System.out.println(dateTime.toLocalDate()); // 2100-04-14
final var dateTime = LocalDateTime.of(1900, 1, 1, 0, 0);
System.out.println(dateTime); // 1900-01-01T00:00
System.out.println(dateTime.toLocalDate()); // 1900-01-01
final var dateTime = LocalDateTime.MAX;
System.out.println(dateTime); // +999999999-12-31T23:59:59.999999999
System.out.println(dateTime.toLocalDate()); // +999999999-12-31
final var dateTime = LocalDateTime.MIN;
System.out.println(dateTime); // -999999999-01-01T00:00
System.out.println(dateTime.toLocalDate()); // -999999999-01-01

LocalTime toLocalTime ()

Gets the LocalTime part of this date-time.

final var dateTime = LocalDateTime.of(2100, 4, 14, 12, 30, 45);
System.out.println(dateTime); // 2100-04-14T12:30:45
System.out.println(dateTime.toLocalTime()); // 12:30:45
final var dateTime = LocalDateTime.of(1900, 1, 1, 0, 0);
System.out.println(dateTime); // 1900-01-01T00:00
System.out.println(dateTime.toLocalTime()); // 00:00
final var dateTime = LocalDateTime.MAX;
System.out.println(dateTime); // +999999999-12-31T23:59:59.999999999
System.out.println(dateTime.toLocalTime()); // 23:59:59.999999999
final var dateTime = LocalDateTime.MIN;
System.out.println(dateTime); // -999999999-01-01T00:00
System.out.println(dateTime.toLocalTime()); // 00:00

String toString ()

Outputs this date-time as a String, such as 2007-12-03T10:15:30.

final var dateTime = LocalDateTime.of(2100, 4, 14, 12, 30, 45);
final var str = dateTime.toString();
System.out.println(str); // 2100-04-14T12:30:45
final var dateTime = LocalDateTime.of(2100, 12, 1, 23, 59);
final var str = dateTime.toString();
System.out.println(str); // 2100-12-01T23:59
final var dateTime1 = LocalDateTime.of(1900, 1, 1, 0, 0, 0, 123000000);
final var str1 = dateTime1.toString();
System.out.println(str1); // 1900-01-01T00:00:00.123

final var dateTime2 = LocalDateTime.of(1900, 1, 1, 0, 0, 0, 123000);
final var str2 = dateTime2.toString();
System.out.println(str2); // 1900-01-01T00:00:00.000123

final var dateTime3 = LocalDateTime.of(1900, 1, 1, 0, 0, 0, 123);
final var str3 = dateTime3.toString();
System.out.println(str3); // 1900-01-01T00:00:00.000000123
final var dateTime = LocalDateTime.MAX;
final var str = dateTime.toString();
System.out.println(str); // +999999999-12-31T23:59:59.999999999
final var dateTime = LocalDateTime.MIN;
final var str = dateTime.toString();
System.out.println(str); // -999999999-01-01T00:00

LocalDateTime truncatedTo (TemporalUnit unit)

Returns a copy of this LocalDateTime with the time truncated.

final var dateTime = LocalDateTime.of(2100, 4, 14, 12, 30, 15, 123456789);
System.out.println(dateTime); // 2100-04-14T12:30:15.123456789

System.out.println(dateTime.truncatedTo(ChronoUnit.DAYS)); // 2100-04-14T00:00

System.out.println(dateTime.truncatedTo(ChronoUnit.HOURS)); // 2100-04-14T12:00
System.out.println(dateTime.truncatedTo(ChronoUnit.MINUTES)); // 2100-04-14T12:30
System.out.println(dateTime.truncatedTo(ChronoUnit.SECONDS)); // 2100-04-14T12:30:15

final var ret = dateTime.truncatedTo(ChronoUnit.NANOS);
System.out.println(ret); // 2100-04-14T12:30:15.123456789

long until (Temporal endExclusive, TemporalUnit unit)

Calculates the amount of time until another date-time in terms of the specified unit.

final var dateTime1 = LocalDateTime.of(2100, 1, 1, 0, 0);
final var dateTime2 = LocalDateTime.of(2101, 2, 2, 0, 0);
System.out.println(dateTime1); // 2100-01-01T00:00
System.out.println(dateTime2); // 2101-02-02T00:00

System.out.println(dateTime1.until(dateTime2, ChronoUnit.YEARS)); // 1
System.out.println(dateTime1.until(dateTime2, ChronoUnit.MONTHS)); // 13
System.out.println(dateTime1.until(dateTime2, ChronoUnit.DAYS)); // 397
System.out.println(dateTime1.until(dateTime2, ChronoUnit.HOURS)); // 9528
System.out.println(dateTime1.until(dateTime2, ChronoUnit.MINUTES)); // 571680
System.out.println(dateTime1.until(dateTime2, ChronoUnit.SECONDS)); // 34300800
System.out.println(dateTime1.until(dateTime2, ChronoUnit.NANOS)); // 34300800000000000
final var dateTime1 = LocalDateTime.of(2100, 1, 1, 1, 2);
final var dateTime2 = LocalDateTime.of(2100, 1, 1, 3, 32, 15, 123);
System.out.println(dateTime1); // 2100-01-01T01:02
System.out.println(dateTime2); // 2100-01-01T03:32:15.000000123

System.out.println(dateTime1.until(dateTime2, ChronoUnit.YEARS)); // 0
System.out.println(dateTime1.until(dateTime2, ChronoUnit.MONTHS)); // 0
System.out.println(dateTime1.until(dateTime2, ChronoUnit.DAYS)); // 0
System.out.println(dateTime1.until(dateTime2, ChronoUnit.HOURS)); // 2
System.out.println(dateTime1.until(dateTime2, ChronoUnit.MINUTES)); // 150
System.out.println(dateTime1.until(dateTime2, ChronoUnit.SECONDS)); // 9015
System.out.println(dateTime1.until(dateTime2, ChronoUnit.NANOS)); // 9015000000123
final var dateTime1 = LocalDateTime.of(1900, 8, 14, 0, 0);
final var dateTime2 = LocalDateTime.of(1900, 6, 15, 0, 0);
System.out.println(dateTime1); // 1900-08-14T00:00
System.out.println(dateTime2); // 1900-06-15T00:00

System.out.println(dateTime1.until(dateTime2, ChronoUnit.YEARS)); // 0
System.out.println(dateTime1.until(dateTime2, ChronoUnit.MONTHS)); // -1
System.out.println(dateTime1.until(dateTime2, ChronoUnit.DAYS)); // -60
System.out.println(dateTime1.until(dateTime2, ChronoUnit.HOURS)); // -1440
System.out.println(dateTime1.until(dateTime2, ChronoUnit.MINUTES)); // -86400
System.out.println(dateTime1.until(dateTime2, ChronoUnit.SECONDS)); // -5184000
System.out.println(dateTime1.until(dateTime2, ChronoUnit.NANOS)); // -5184000000000000

LocalDateTime with (TemporalAdjuster adjuster)

Returns an adjusted copy of this date-time.

final var dateTime = LocalDateTime.of(2100, 3, 15, 0, 0);
System.out.println(dateTime); // 2100-03-15T00:00

final var ret1 = dateTime.with(TemporalAdjusters.firstDayOfMonth());
System.out.println(ret1); // 2100-03-01T00:00

final var ret2 = dateTime.with(TemporalAdjusters.lastDayOfMonth());
System.out.println(ret2); // 2100-03-31T00:00
final var dateTime = LocalDateTime.of(2100, 4, 14, 12, 30);
System.out.println(dateTime); // 2100-04-14T12:30

System.out.println(dateTime.with(Year.of(1999))); // 1999-04-14T12:30
System.out.println(dateTime.with(Month.JANUARY)); // 2100-01-14T12:30
System.out.println(dateTime.with(LocalTime.MAX)); // 2100-04-14T23:59:59.999999999
System.out.println(dateTime.with(LocalDate.MIN)); // -999999999-01-01T12:30

LocalDateTime with (TemporalField field, long newValue)

Returns a copy of this date-time with the specified field set to a new value.

final var dateTime = LocalDateTime.of(2100, 1, 2, 12, 30, 45, 123);
System.out.println(dateTime); // 2100-01-02T12:30:45.000000123

final var ret1 = dateTime.with(ChronoField.YEAR, 1999);
System.out.println(ret1); // 1999-01-02T12:30:45.000000123

final var ret2 = dateTime.with(ChronoField.MONTH_OF_YEAR, 12);
System.out.println(ret2); // 2100-12-02T12:30:45.000000123

final var ret3 = dateTime.with(ChronoField.DAY_OF_MONTH, 30);
System.out.println(ret3); // 2100-01-30T12:30:45.000000123

final var ret4 = dateTime.with(ChronoField.HOUR_OF_DAY, 23);
System.out.println(ret4); // 2100-01-02T23:30:45.000000123

final var ret5 = dateTime.with(ChronoField.MINUTE_OF_HOUR, 59);
System.out.println(ret5); // 2100-01-02T12:59:45.000000123

final var ret6 = dateTime.with(ChronoField.SECOND_OF_MINUTE, 0);
System.out.println(ret6); // 2100-01-02T12:30:00.000000123

final var ret7 = dateTime.with(ChronoField.NANO_OF_SECOND, 456);
System.out.println(ret7); // 2100-01-02T12:30:45.000000456

LocalDateTime withDayOfMonth (int dayOfMonth)

Returns a copy of this LocalDateTime with the day-of-month altered.

final var dateTime = LocalDateTime.of(2100, 4, 8, 0, 0);
System.out.println(dateTime); // 2100-04-08T00:00

System.out.println(dateTime.withDayOfMonth(1)); // 2100-04-01T00:00
System.out.println(dateTime.withDayOfMonth(2)); // 2100-04-02T00:00
System.out.println(dateTime.withDayOfMonth(29)); // 2100-04-29T00:00
System.out.println(dateTime.withDayOfMonth(30)); // 2100-04-30T00:00

LocalDateTime withDayOfYear (int dayOfYear)

Returns a copy of this LocalDateTime with the day-of-year altered.

final var dateTime = LocalDateTime.of(2100, 4, 8, 12, 30);
System.out.println(dateTime); // 2100-04-08T12:30

System.out.println(dateTime.withDayOfYear(1)); // 2100-01-01T12:30
System.out.println(dateTime.withDayOfYear(2)); // 2100-01-02T12:30
System.out.println(dateTime.withDayOfYear(30)); // 2100-01-30T12:30
System.out.println(dateTime.withDayOfYear(31)); // 2100-01-31T12:30
System.out.println(dateTime.withDayOfYear(32)); // 2100-02-01T12:30
System.out.println(dateTime.withDayOfYear(33)); // 2100-02-02T12:30

System.out.println(dateTime.withDayOfYear(365)); // 2100-12-31T12:30

LocalDateTime withHour (int hour)

Returns a copy of this LocalDateTime with the hour-of-day altered.

final var dateTime = LocalDateTime.of(2100, 1, 1, 12, 30);
System.out.println(dateTime); // 2100-01-01T12:30

System.out.println(dateTime.withHour(0)); // 2100-01-01T00:30
System.out.println(dateTime.withHour(23)); // 2100-01-01T23:30

LocalDateTime withMinute (int minute)

Returns a copy of this LocalDateTime with the minute-of-hour altered.

final var dateTime = LocalDateTime.of(2100, 1, 1, 12, 30);
System.out.println(dateTime); // 2100-01-01T12:30

System.out.println(dateTime.withMinute(0)); // 2100-01-01T12:00
System.out.println(dateTime.withMinute(59)); // 2100-01-01T12:59

LocalDateTime withMonth (int month)

Returns a copy of this LocalDateTime with the month-of-year altered.

final var dateTime = LocalDateTime.of(2100, 4, 8, 12, 30);
System.out.println(dateTime); // 2100-04-08T12:30

System.out.println(dateTime.withMonth(1)); // 2100-01-08T12:30
System.out.println(dateTime.withMonth(2)); // 2100-02-08T12:30
System.out.println(dateTime.withMonth(11)); // 2100-11-08T12:30
System.out.println(dateTime.withMonth(12)); // 2100-12-08T12:30

LocalDateTime withNano (int nanoOfSecond)

Returns a copy of this LocalDateTime with the nano-of-second altered.

final var dateTime = LocalDateTime.of(2100, 1, 1, 0, 0, 0, 123);
System.out.println(dateTime); // 2100-01-01T00:00:00.000000123

System.out.println(dateTime.withNano(0)); // 2100-01-01T00:00
System.out.println(dateTime.withNano(999999999)); // 2100-01-01T00:00:00.999999999

LocalDateTime withSecond (int second)

Returns a copy of this LocalDateTime with the second-of-minute altered.

final var dateTime = LocalDateTime.of(2100, 1, 1, 12, 30, 45);
System.out.println(dateTime); // 2100-01-01T12:30:45

System.out.println(dateTime.withSecond(0)); // 2100-01-01T12:30
System.out.println(dateTime.withSecond(1)); // 2100-01-01T12:30:01
System.out.println(dateTime.withSecond(59)); // 2100-01-01T12:30:59

LocalDateTime withYear (int year)

Returns a copy of this LocalDateTime with the year altered.

final var dateTime = LocalDateTime.of(2100, 4, 8, 12, 30);
System.out.println(dateTime); // 2100-04-08T12:30

System.out.println(dateTime.withYear(1999)); // 1999-04-08T12:30
System.out.println(dateTime.withYear(-999)); // -0999-04-08T12:30
System.out.println(dateTime.withYear(2500)); // 2500-04-08T12:30

Methods declared in ChronoLocalDateTime

getChronology, toEpochSecond, toInstant

Please see the link below.


Related posts

To top of page