Programa Java para mostrar el tiempo pasando horas y meses

El paquete Java.util tiene una clase Calendar que tiene algunos métodos predefinidos, lo que nos ayuda a realizar algunas operaciones relacionadas con la fecha y la hora. La clase de calendario tiene un método predefinido llamado método roll() , con la ayuda del cual podemos pasar los meses (sin cambiar el año) y las horas (sin cambiar el mes y el año).

Rodar básicamente significa volver al mismo estado después de un cierto período. Por ejemplo, supongamos que es el mes de octubre, y hemos rodado el mes por 50, significa que hemos rodado por 2 meses, es decir (50% 12 = 2), ya que hay un total de 12 meses. en un año, por lo que el mes actual después de rodar por 50 meses sería diciembre.

Considere otro ejemplo, digamos que hemos acumulado horas en la cantidad de 76 y el estado actual de la hora es 5:00 p. m. y la fecha es el 22 de octubre de 2020, por lo que después de haber acumulado 76 horas, el estado de la hora será 9:00 pm y los datos serán el 22 de octubre de 2020, es así porque hay un total de 24 horas en un día y (76% 24 = 4), por lo que el estado de la hora actual solo se incrementará en 4. 

Sintaxis:

public abstract void roll(int calendar_field, boolean up_down)

Aquí, el método roll() toma 2 parámetros calendar_field y up_down .

  • calendar_field :Es la hora o el mes o el año en el que queremos rodar
  • up_down : Es la cantidad por la que tenemos que rodar, que puede ser un valor booleano o un valor entero. En los ejemplos anteriores, se muestra cómo obtener un valor entero (puede ser un valor tanto positivo como negativo), pero para un valor booleano, si el valor que se pasa es verdadero, significa que tenemos que obtener por la cantidad de +1 y si el valor pasado es falso, significa que tira por la cantidad de -1 .

Ejemplo: El siguiente ejemplo explica cómo usar el método roll() mediante programación.

Java

// Java program to show how to roll through
// hours or years or months using roll() method
import java.util.Calendar;
import java.util.Date;
 
public class CalendarExample1 {
    public static void main(String[] args) throws Exception
    {
        // getting the current date
        Date d1 = new Date();
       
          // create two calendar instances
        Calendar c1 = Calendar.getInstance();
        Calendar c2 = Calendar.getInstance();
       
        // setting the current date and time in calendar
        c1.setTime(d1);
        c2.setTime(d1);
           
          // print the current date
        System.out.println("Today is " + d1.toString());
 
        // rolling over month by 50
        c1.roll(Calendar.MONTH, 50);
        System.out.println(
            "Date after rolling by 50 over  month will be "
            + c1.getTime().toString());
 
        // rolling over hour by 70
        c1.roll(Calendar.HOUR, 70);
        System.out.println(
            "Date after rolling by 70 over hours will be "
            + c1.getTime().toString());
 
        // rolling over year by 2
        c1.roll(Calendar.YEAR, 2);
        System.out.println(
            "Date after  rolling by 2 over year is "
            + c1.getTime().toString());
 
        // false rolling over month
        c2.roll(Calendar.MONTH, false);
        System.out.println(
            "Date after false rolling over month will be "
            + c2.getTime().toString());
 
        // true rolling over hour
        c2.roll(Calendar.HOUR, true);
        System.out.println(
            "Date after true rolling over hour will be "
            + c2.getTime().toString());
 
        // true rolling over year
        c2.roll(Calendar.YEAR, true);
        System.out.println(
            "Date after true rolling over year is "
            + c2.getTime().toString());
    }
}
Producción

Today is Fri Oct 30 06:19:15 UTC 2020
Date after rolling by 50 over  month will be Wed Dec 30 06:19:15 UTC 2020
Date after rolling by 70 over hours will be Wed Dec 30 04:19:15 UTC 2020
Date after  rolling by 2 over year is Fri Dec 30 04:19:15 UTC 2022
Date after false rolling over month will be Wed Sep 30 06:19:15 UTC 2020
Date after true rolling over hour will be Wed Sep 30 07:19:15 UTC 2020
Date after true rolling over year is Thu Sep 30 07:19:15 UTC 2021

Ejemplo 2: 

Java

// Java code to illustrate
// roll() method
 
import java.util.*;
 
public class CalendarExample2 {
    public static void main(String args[])
    {
        // Creating a calendar
        Calendar calndr = Calendar.getInstance();
 
        // Displaying the month
        System.out.println("The Current Month"
                           + " is: "
                           + calndr.get(Calendar.MONTH));
 
        // Incrementing the month
        // true indicates addition
        calndr.roll(Calendar.MONTH, true);
 
        // Displaying the result after operation
        System.out.println("The New Month is: "
                           + calndr.get(Calendar.MONTH));
 
        // Decrementing the month
        // false indicates subtraction
        calndr.roll(Calendar.MONTH, false);
 
        // Displaying the result after operation
        System.out.println("The new month is: "
                           + calndr.get(Calendar.MONTH));
    }
}
Producción

The Current Month is: 9
The New Month is: 10
The new month is: 9

Publicación traducida automáticamente

Artículo escrito por lavishgarg26 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *