Implémentez les modèles suivants en Java et Kotlin (presque les mêmes) avec l'API Date and Time.
Cliquez ici pour la classe Utils de Java.
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");
//Changer la date et l'heure
public static LocalDateTime getDateTimeAfterOneYear(LocalDateTime dateTime) {
return dateTime.plusYears(1);
}
//Format original
public static String getYearAndMonth(LocalDateTime dateTime) {
return dateTime.format(YYYYMM_FORMAT);
}
//Exemple de format ISO)2011-12-03
public static String getIsoLocalDate(LocalDateTime dateTime) {
return dateTime.format(DateTimeFormatter.ISO_LOCAL_DATE);
}
//Première date et heure du mois
public static LocalDateTime getFirstDayDateTime(LocalDateTime dateTime) {
return LocalDateTime.of(dateTime.with(TemporalAdjusters.firstDayOfMonth()).toLocalDate(), LocalTime.MIN);
}
//Fin du mois
public static LocalDateTime getLastDayDateTime(LocalDateTime dateTime) {
return LocalDateTime.of(dateTime.with(TemporalAdjusters.lastDayOfMonth()).toLocalDate(), LocalTime.MAX);
}
}
Cliquez ici pour les classes d'extension Kotlin.
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")
//Changer la date et l'heure
fun LocalDateTime.getDateTimeAfterOneYear(): LocalDateTime = plusYears(1)
//Format original
fun LocalDateTime.getYearAndMonth(): String = format(YYYYMM_FORMAT)
//Exemple de format ISO)2011-12-03
fun LocalDateTime.getIsoLocalDate(): String = format(DateTimeFormatter.ISO_LOCAL_DATE)
//Première date et heure du mois
fun LocalDateTime.getFirstDayDateTime(): LocalDateTime = LocalDateTime.of(with(TemporalAdjusters.firstDayOfMonth()).toLocalDate(), LocalTime.MIN)
//Fin du mois
fun LocalDateTime.getLastDayDateTime(): LocalDateTime = LocalDateTime.of(with(TemporalAdjusters.lastDayOfMonth()).toLocalDate(), LocalTime.MAX)
Recommended Posts