You can do it without implementing any TemporalUnit:
System.out.println(time .withNano((time.getNano() / 100000000) * 100000000) .truncatedTo(ChronoUnit.MILLIS));