Implementieren Sie die folgenden Muster in Java und Kotlin (fast gleich) mit der Datums- und Uhrzeit-API.
Klicken Sie hier für die Java-Klasse Utils.
LocalDateUtils.java
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
public class LocalDateTimeUtils {
private static final DateTimeFormatter YYYYMM_FORMAT = DateTimeFormatter.ofPattern("yyyyMM");
//Datum und Uhrzeit ändern
public static LocalDateTime getDateTimeAfterOneYear(LocalDateTime dateTime) {
return dateTime.plusYears(1);
}
//Originalformat
public static String getYearAndMonth(LocalDateTime dateTime) {
return dateTime.format(YYYYMM_FORMAT);
}
//Beispiel für ein ISO-Format)2011-12-03
public static String getIsoLocalDate(LocalDateTime dateTime) {
return dateTime.format(DateTimeFormatter.ISO_LOCAL_DATE);
}
//Erstes Datum und Uhrzeit des Monats
public static LocalDateTime getFirstDayDateTime(LocalDateTime dateTime) {
return LocalDateTime.of(dateTime.with(TemporalAdjusters.firstDayOfMonth()).toLocalDate(), LocalTime.MIN);
}
//Ende des Monats
public static LocalDateTime getLastDayDateTime(LocalDateTime dateTime) {
return LocalDateTime.of(dateTime.with(TemporalAdjusters.lastDayOfMonth()).toLocalDate(), LocalTime.MAX);
}
}
Klicken Sie hier für Kotlin-Erweiterungsklassen.
LocalDateTime.kt
import java.time.LocalDateTime
import java.time.LocalTime
import java.time.format.DateTimeFormatter
import java.time.temporal.TemporalAdjusters
private val YYYYMM_FORMAT = DateTimeFormatter.ofPattern("yyyyMM")
//Datum und Uhrzeit ändern
fun LocalDateTime.getDateTimeAfterOneYear(): LocalDateTime = plusYears(1)
//Originalformat
fun LocalDateTime.getYearAndMonth(): String = format(YYYYMM_FORMAT)
//Beispiel für ein ISO-Format)2011-12-03
fun LocalDateTime.getIsoLocalDate(): String = format(DateTimeFormatter.ISO_LOCAL_DATE)
//Erstes Datum und Uhrzeit des Monats
fun LocalDateTime.getFirstDayDateTime(): LocalDateTime = LocalDateTime.of(with(TemporalAdjusters.firstDayOfMonth()).toLocalDate(), LocalTime.MIN)
//Ende des Monats
fun LocalDateTime.getLastDayDateTime(): LocalDateTime = LocalDateTime.of(with(TemporalAdjusters.lastDayOfMonth()).toLocalDate(), LocalTime.MAX)
Recommended Posts