Java: Clases LocalTime, LocalDate, LocalDateTime y Duration para Programación
Clases de fecha y hora en Java
Random y Scanner
import java.util.Random;
Random rnd = new Random();
int aleatori = rnd.nextInt(8);
import java.util.Scanner;
Scanner lector = new Scanner(System.in);
Clase LocalTime (guarda la hora)
import java.time.LocalTime;
Crear un objeto de tipo LocalTime
- variable = LocalTime.of(hora, minuto, segundo, milisegundo)
- variable = LocalTime.now()
Modificar un objeto de tipo LocalTime
- variable.plusSeconds(long) → LocalTime
- variable.plusMinutes(long) → LocalTime
- variable.plusHours(long) → LocalTime
- variable.minusSeconds(long) → LocalTime
- variable.minusMinutes(long) → LocalTime
- variable.minusHours(long) → LocalTime
Obtener información de un objeto de tipo LocalTime
- variable.getHour() → int
- variable.getMinute() → int
- variable.getSecond() → int
Comparar dos objetos de tipo LocalTime
- variable1.compareTo(variable2)
- variable1.equals(variable2)
Clase LocalDate (guarda la fecha)
import java.time.LocalDate;
Crear un objeto de tipo LocalDate
- variable = LocalDate.of(año, mes, día)
- variable = LocalDate.now()
Modificar un objeto de tipo LocalDate
- variable.plusDays(long) → LocalDate
- variable.plusWeeks(long) → LocalDate
- variable.plusMonths(long) → LocalDate
- variable.plusYears(long) → LocalDate
- variable.minusDays(long) → LocalDate
- variable.minusWeeks(long) → LocalDate
- variable.minusMonths(long) → LocalDate
- variable.minusYears(long) → LocalDate
Obtener información de un objeto de tipo LocalDate
- variable.getYear()
- variable.getMonthValue() → 1..12
- variable.getDayOfMonth() → 1..31
- variable.getDayOfWeek().getValue() → 1..7
Comparar dos objetos de tipo LocalDate
- variable1.compareTo(variable2)
- variable1.equals(variable2)
Clase LocalDateTime (guarda fecha y hora)
import java.time.LocalDateTime;
Crear un objeto de tipo LocalDateTime
- variable = LocalDateTime.of(localDate, localTime)
- variable = LocalDateTime.now()
Modificar un objeto de tipo LocalDateTime
- variable.plusSeconds / plusMinutes / plusHours / plusDays / plusWeeks / plusMonths / plusYears (long) → LocalDateTime
- variable.minusSeconds / minusMinutes / minusHours / minusDays / minusWeeks / minusMonths / minusYears (long) → LocalDateTime
Obtener información de un objeto de tipo LocalDateTime
- variable.getYear()
- variable.getMonthValue() → 1..12
- variable.getDayOfMonth() → 1..31
- variable.getDayOfWeek().getValue() → 1..7
- variable.getHour()
- variable.getMinute()
- variable.getSecond()
Comparar dos objetos de tipo LocalDateTime
- variable1.compareTo(variable2)
- variable1.equals(variable2)
Clase Duration (guarda un espacio de tiempo)
import java.time.Duration;
Crear un Duration
- variable = Duration.between(localDateTime1, localDateTime2)
- variable = Duration.ofDays(long)
- variable = Duration.ofHours(long)
- variable = Duration.ofMinutes(long)
- variable = Duration.ofSeconds(long)
Modificar un Duration
- variable.plusDays / plusHours / plusMinutes / plusSeconds (long) → Duration
- variable.plus(Duration) → Duration
- variable.minusDays / minusHours / minusMinutes / minusSeconds (long) → Duration
- variable.minus(Duration) → Duration
- variable1.compareTo(variable2)
- variable1.equals(variable2)
Obtener información de un objeto de tipo Duration
- variable.toSeconds() → double: número total de segundos.
- variable.toSecondsPart() → double: segundos restantes.
- Minutes, Hours, Days
Métodos de la clase String
- compareTo(textPerComparar) → devuelve un int (-1, 0, 1)
- .length() → devuelve la longitud del String
- .toUpperCase() / .toLowerCase()
- .charAt(numPosición)
- Character.isDigit(carácter)
- .substring(posiciónInicial, posiciónFinal) → devuelve un String
- .replace(carácter, carácter) → devuelve un String
- .trim() → elimina los espacios de delante y detrás
- String[] tabla = String.split(textoSeparación)
- .indexOf(textoACercar, {posición donde empezar a buscar}) → devuelve la posición del String (-1 si no lo encuentra)
- lastIndexOf()
- Integer.parseInt(texto)
- Double.parseDouble(texto)
Ordenación
for (i) {
for (int j = i+1; ...) {
if (tabla[j].compareTo(tabla[i]) < 0) {
canvi = tabla[i]; tabla[i] = tabla[j]; tabla[j] = canvi;
}
}
}Agrupación
for (; i < contador; ...) {
if (!tabla[i].equals(tabla[i+1])) {
tAux[variable] = tabla[i];
variable++;
contadorAgrup++;
}
}
for (int i = 0; i < tAux.length / contadorAgrup; i++) {
System.out.print("\n" + tAux[i]);
for (int j = 0; j < contador+1; j++) {
if (tabla[j].equals(tAux[i])) {
System.out.print(...);
}
}
}Eliminar un elemento de un array
System.out.println("¿Qué alumno quieres borrar?");
NOMA = lector.nextLine(); // Para validar, esta línea dentro del while
while ((!TROBAT) && (i < quantitatAlumnes)) {
if (NOM[i].equalsIgnoreCase(NOMA)) {
posAlum = i;
TROBAT = true;
} else {
i++;
}
}
for (int j = posAlum; j < quantitatAlumnes-1; j++) {
NOM[j] = NOM[j+1];
}
quantitatAlumnes = quantitatAlumnes - 1;