Close

Java Date Time - LocalDateTime.truncatedTo() Examples

Java Date Time Java Java API 


Class:

java.time.LocalDateTime

java.lang.Objectjava.lang.Objectjava.time.LocalDateTimejava.time.LocalDateTimejava.time.temporal.TemporalTemporaljava.time.temporal.TemporalAdjusterTemporalAdjusterjava.time.chrono.ChronoLocalDateTimeChronoLocalDateTimejava.io.SerializableSerializableLogicBig

Method:

public LocalDateTime truncatedTo(TemporalUnit unit)

Returns a copy of this LocalDateTime with the 'time' truncated according to the specified unit. This method doesn't allow truncation larger than time units.



Examples


package com.logicbig.example.localdatetime;

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

public class TruncatedToExample {

public static void main (String... args) {
LocalDateTime dt = LocalDateTime.of(2010, 10, 8,
20, 13, 23, 200000);
System.out.printf("Original date-time: %s%n", dt);

LocalDateTime dt2 = dt.truncatedTo(ChronoUnit.MINUTES);
System.out.printf("truncatedTo SECONDS: %s%n", dt2);

dt2 = dt.truncatedTo(ChronoUnit.HOURS);
System.out.printf("truncatedTo HOURS: %s%n", dt2);

dt2 = dt.truncatedTo(ChronoUnit.DAYS);
System.out.printf("truncatedTo DAYS: %s%n", dt2);
}
}

Output

Original date-time: 2010-10-08T20:13:23.000200
truncatedTo SECONDS: 2010-10-08T20:13
truncatedTo HOURS: 2010-10-08T20:00
truncatedTo DAYS: 2010-10-08T00:00




package com.logicbig.example.localdatetime;

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

public class TruncatedToExample2 {

public static void main (String... args) {
LocalDateTime dt = LocalDateTime.of(2010, 10, 8,
20, 13, 23, 200000);

LocalDateTime dt2 = dt.truncatedTo(ChronoUnit.WEEKS);
System.out.printf("truncatedTo WEEKS: %s%n", dt2);
}
}

Output

Caused by: java.time.temporal.UnsupportedTemporalTypeException: Unit is too large to be used for truncation
at java.time.LocalTime.truncatedTo(LocalTime.java:955)
at java.time.LocalDateTime.truncatedTo(LocalDateTime.java:1121)
at com.logicbig.example.localdatetime.TruncatedToExample2.main(TruncatedToExample2.java:17)
... 6 more




This throws exception as well because a resultant LocalDateTime cannot be created with zero day.

package com.logicbig.example.localdatetime;

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

public class TruncatedToExample3 {

public static void main (String... args) {
LocalDateTime dt = LocalDateTime.of(2010, 10, 8,
20, 13, 23, 200000);

LocalDateTime dt2 = dt.truncatedTo(ChronoUnit.MONTHS);
System.out.printf("truncatedTo MONTHS: %s%n", dt2);
}
}

Output

Caused by: java.time.temporal.UnsupportedTemporalTypeException: Unit is too large to be used for truncation
at java.time.LocalTime.truncatedTo(LocalTime.java:955)
at java.time.LocalDateTime.truncatedTo(LocalDateTime.java:1121)
at com.logicbig.example.localdatetime.TruncatedToExample3.main(TruncatedToExample3.java:19)
... 6 more




See Also