El método minus() de la clase ChronoPeriod en Java se usa para restar la cantidad dada de período del período especificado. Esta función opera por separado en AÑO, MES y DÍA.
Nota: No se realiza la normalización. 12 meses y 1 año son diferentes.
Sintaxis:
ChronoPeriod minus(TemporalAmount amountToSubtract)
Parámetros: este método acepta un solo parámetro , cantidad a restar , que es la cantidad a restar de este período. No debe ser nulo.
Valor devuelto: este método devuelve un ChronoPeriod basado en el período dado con el período solicitado restado, y esto no debe ser nulo.
Excepciones:
- DateTimeException : esta excepción se devuelve si la cantidad especificada tiene una cronología que no es ISO o contiene una unidad no válida.
- ArithmeticException : esta excepción se detecta si se produce un desbordamiento numérico.
Los siguientes programas ilustran el método anterior:
Programa 1 :
// Java code to show the function minus() // to subtract the two given periods import java.time.*; import java.time.chrono.*; import java.time.temporal.ChronoUnit; public class ChronoPeriodDemo { // Function to subtract two given periods static void subtractChronoPeriod(ChronoPeriod p1, ChronoPeriod p2) { System.out.println(p1.minus(p2)); } // Driver Code public static void main(String[] args) { // Defining first period int year = 4; int months = 11; int days = 10; ChronoPeriod p1 = Period.of(year, months, days); // Defining second period int year1 = 2; int months1 = 7; int days1 = 8; ChronoPeriod p2 = Period.of(year1, months1, days1); subtractChronoPeriod(p1, p2); } }
Producción:
P2Y4M2D
Programa 2 :
// Java code to show the function minus() // to subtract the two given periods import java.time.*; import java.time.chrono.*; import java.time.temporal.ChronoUnit; public class ChronoPeriodDemo { // Function to subtract two given periods static void subtractChronoPeriod(ChronoPeriod p1, ChronoPeriod p2) { System.out.println(p1.minus(p2)); } // Driver Code public static void main(String[] args) { // Defining second period int year1 = 2; int months1 = 7; int days1 = 8; ChronoPeriod p1 = Period.of(year1, months1, days1); // Defining first period int year = 4; int months = 11; int days = 10; ChronoPeriod p2 = Period.of(year, months, days); subtractChronoPeriod(p1, p2); } }
Producción:
P-2Y-4M-2D
Referencia : https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoPeriod.html#minus-java.time.temporal.TemporalAmount-