Clase de calendario gregoriano en Java

Sarwan Soomro 12 octubre 2023
  1. Clase Java.util.Calendar
  2. Clase java.util.Locale
  3. Diferencia entre la clase GregorianCalendar() y la clase Calendar en Java
  4. Implementación de la clase de calendario gregoriano en Java
  5. Resumen
Clase de calendario gregoriano en Java

Este artículo le mostrará cómo usar el sistema de calendario gregoriano de Java. Es una subclase específica de la clase Calendar.

Además, ofrece el sistema de calendario más utilizado en el mundo. Además, es un calendario híbrido que es interoperable con los estándares del calendario juliano y gregoriano.

Clase Java.util.Calendar

La clase Calendar es una clase abstracta que contiene métodos para convertir entre un punto específico en el tiempo y una colección de campos de calendario como YEAR, MONTH, DAY OF MONTH, HOUR, WEEK_OF_YEAR, ZONE_OFFSET, FIELD_COUNT, MILLISECOND y muchos otros.

Además, permite a los usuarios modificar los campos del calendario, como obtener la fecha de la semana siguiente.

Nota
Se configura cuando se crea un objeto de clase Calendario.

Sintaxis:

Calendar ModifyCal = Calendar.getInstance();

Clase java.util.Locale

Un objeto Locale denota un territorio geográfico, político o cultural en particular. Una acción sensible a la configuración regional requiere una Configuración regional para realizar su tarea.

También aplica el Locale para personalizar la información para el usuario.

Diferencia entre la clase GregorianCalendar() y la clase Calendar en Java

La diferencia es bastante simple de entender. Como ya sabes, cuando usamos Calendar en la mayoría de los programas, construye un objeto de calendario gregoriano: getInstance().

Hay, sin embargo, algunos valores atípicos. En particular, la ubicación/región que puede configurar para mostrar un sistema de calendario particular basado en su región.

En otras palabras, suponga que necesita que su Calendario sea un Calendario gregoriano(). En ese caso, todo lo que necesita hacer es escribir un nuevo: GregorianCalendar().

Sin embargo, recomendamos dejar que Java Virtual Machine decida qué región elegir de forma predeterminada. Debe utilizar la palabra Calendar.getInstance() y estar preparado para afrontar la posibilidad de seleccionar otro tipo de calendario.

Algunas funciones notables de Calendario en Java

Para empezar, estos métodos y sus tipos son útiles. Tenga en cuenta que hay una amplia variedad de métodos además de ellos.

Ayudaría si abriera la clase java.util.GregorianCalendar o los archivos de la clase calendar para estudiar.

S. N. Tipo Sintaxis de la función Resumen
1 TimeZone getTimeZone() Esta función le proporciona la zona horaria actual.
2 int getWeekYear() Simplemente te devuelve el año de la semana según el calendario gregoriano.
3 void setTimeZone Puede agregar el valor para establecer la zona horaria con este método.
4 void setWeekDate Cambia el Calendario gregoriano a la fecha especificada por los especificadores de fecha.
5 boolean isWeekDateSupported() Solo devuelve verdadero, lo que muestra que la clase admite fechas de semana específicas.
6 void setGregorianChange(Fecha fecha) Puede modificar la fecha con esta función.
7 int hashCode() Le dará un objeto de código hash para este calendario gregoriano.

la importancia de los constructores de Calendario en Java

Estos constructores lo ayudan a ampliar la estructura de clases predeterminada y modificar la configuración regional, la fecha, la hora, la zona y otros parámetros funcionales que desea personalizar. En la mayoría de los programas, no queremos soluciones predeterminadas y, a veces, queremos probar algo propio.

Por el contrario, las preferencias de nuestro cliente en cuanto al formato pueden ser diferentes. Por lo tanto, recomendamos encarecidamente estudiar estas funciones.

Nota
También ejecutaremos la mayoría de estos métodos en la siguiente parte de este tutorial para demostrar su uso.
S. N. Nombre de función y sintaxis Resumen
1 GregorianCalendar() Construye un formato predeterminado para la región y la hora actual en la región predeterminada.
2 GregorianCalendar(TimeZone zone) Basado en la hora actual en la zona horaria proporcionada.
3 GregorianCalendar(TimeZone zone, Locale aLocale) Basado en la hora actual en la zona horaria y la región proporcionadas.
4 GregorianCalendar(int año, int mes, int día del mes) Construye un Calendario gregoriano con la fecha especificada establecida en la zona horaria y el lugar predeterminados.
5 GregorianCalendar(int año, int mes, int día del mes, int hora del día, int minuto) Construye un Calendario gregoriano con la fecha y la hora especificadas para la zona horaria y la región predeterminadas.

Implementación de la clase de calendario gregoriano en Java

Un programa simple para imprimir la fecha de hoy usando getTime().

Ejemplo 1:

package delftstack.calendar.com.util;

import java.util.Date;
import java.util.GregorianCalendar;

// A simple program to print today's date using getTime();
public class Example1 {
  public static void main(String[] args) {
    GregorianCalendar printtodaydate = new GregorianCalendar();
    Date defualt = printtodaydate.getTime();

    System.out.println(defualt);
  }
}

Producción :

Mon Mar 28 04:50:00 PDT 2022

Ejemplo 2: Obtener el día actual de la semana.

package delftstack.calendar.com.util;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
// get current day of the weak
public class Example2 {
  public static void main(String[] args) {
    GregorianCalendar DOW = new GregorianCalendar();
    SimpleDateFormat formatter = new SimpleDateFormat("EEEE");
    String dayOfWeek = formatter.format(DOW.getTime());
    System.out.println(dayOfWeek);
  }
}

Producción :

Monday

Ejemplo 3: Modificar la fecha actual después de 100 años en este día.

package delftstack.calendar.com.util;

import java.util.Calendar;
import java.util.GregorianCalendar;

// modify current date
// after 100 years on this day
public class Example3 {
  public static void main(String[] args) {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();
    java.util.Date currentdate = gregorianCalendar.getTime();

    gregorianCalendar.set(Calendar.YEAR, gregorianCalendar.get(Calendar.YEAR) + 100);

    System.out.println("It is: " + currentdate + " today");
    System.out.println("After 100 year on today: " + gregorianCalendar.getTime());
  }
}

Producción :

It is: Mon Mar 28 04:53:53 PDT 2022 today
After 100 year on today: Sat Mar 28 04:53:53 PDT 2122

Ejemplo 4: Reformatea la fecha del calendario como quieras YY-MMM-dd.

package delftstack.calendar.com.util;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;

public class Example4 {
  // reformat calendar date as you want
  // YY-MMM-dd
  public static void main(String[] args) {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();
    SimpleDateFormat reformat = new SimpleDateFormat("YY/MM/dd");
    String newformat = reformat.format(gregorianCalendar.getTime());
    System.out.println(newformat);
  }
}

Producción :

22/03/28

Ejemplo 5: ¿Cuál es mi zona horaria actual?

package delftstack.calendar.com.util;

// what is my current time zone
import java.util.GregorianCalendar;

public class Example5 {
  public static void main(String[] args) {
    // Create a new calendar
    GregorianCalendar update = (GregorianCalendar) GregorianCalendar.getInstance();

    System.out.println("What is my current time zone? ");
    System.out.println("Your time zone is: " + update.getTimeZone().getDisplayName());
  }
}

Producción :

What is my current time zone?
Your time zone is: Pacific Standard Time

Ejemplo 6: Establecer mi zona horaria actual en GMT.

package delftstack.calendar.com.util;

import java.util.GregorianCalendar;
import java.util.TimeZone;

public class Example6 {
  public static void main(String[] args) {
    // Create a new cal class
    GregorianCalendar setnewtimezone = (GregorianCalendar) GregorianCalendar.getInstance();
    // Convert to another time zone
    setnewtimezone.setTimeZone(TimeZone.getTimeZone("GMT"));
    System.out.println("Set my current time zone to GMT");
    setnewtimezone.getTimeZone().getDisplayName();
    System.out.println("Now print it to confirm updated time zone: "
        + setnewtimezone.getTimeZone().getDisplayName());
  }
}

Producción :

Set my current time zone to GMT
Now print it to confirm the updated time zone: Greenwich Mean Time

Ejemplo 7: Muestra la fecha usando la clase calendario de Java.

package delftstack.calendar.com.util;

import java.util.Calendar;

public class ShowDateWithJavaCalendarClass {
  public static void main(String[] args) {
    // Make an obj of Cal Class
    Calendar ModCalendarclass = Calendar.getInstance();

    System.out.println(
        "A simple program to show date using java calendar class: " + ModCalendarclass.getTime());
  } // function
} // class

Producción :

A simple program to show date using java calendar class: Mon Mar 28 05:01:31 PDT 2022

Ejemplo 8: Muestra la fecha usando la clase Java GregorianCalendar.

package delftstack.calendar.com.util;

import java.util.GregorianCalendar;

public class ShowDateWithJavaGreogorianCalendarClass {
  public static void main(String[] args) {
    // use gregorian calendar class
    GregorianCalendar ModGg = new GregorianCalendar();
    // display date with grogerian

    System.out.print(
        "A simple program to show date using java gregorian calendar class: " + ModGg.getTime());
  }
}

Producción :

A simple program to show date using java gregorian calendar class: Mon Mar 28 05:03:25 PDT 2022

Use Constructor en la clase GregorianCalendar en Java

Ejemplo 9: Muestra la fecha usando la clase Java GregorianCalendar.

package delftstack.calendar.com.util;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;

// creating GregorianCalendarExample1 to define default constructor
public class CustomizeCalUsingDefaultConstructor {
  // main() method start
  public static void main(String args[]) {
    // Make an array that contains months
    String setmonths[] = {
        "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

    // Array for the AM, PM
    String ampm[] = {"AM", "PM"};

    // Create GregorianCalendar and use it as constructor
    GregorianCalendar ModGg = new GregorianCalendar();

    // Print date, time, others
    System.out.println("Current Date: " + ModGg.get(Calendar.DATE));
    System.out.println("Current Month: " + setmonths[ModGg.get(Calendar.MONTH)]);
    System.out.println("Current Year: " + ModGg.get(Calendar.YEAR));
    System.out.println("Current Time: " + ModGg.get(Calendar.HOUR) + ":"
        + ModGg.get(Calendar.MINUTE) + " " + ModGg.get(Calendar.SECOND) + " "
        + ampm[ModGg.get(Calendar.AM_PM)]);
    System.out.println("Region: " + ModGg.getTimeZone().getDisplayName());
    System.out.println("Region: " + Locale.getDefault().getDisplayName());
  }
}

Producción :

Current Date: 28
Current Month: Mar
Current Year: 2022
Current Time: 5:7 15 AM
Region: Pacific Standard Time
Region: English (United States)

Resumen

Puede editar los parámetros predeterminados de la clase GregorianCalendar en Java o la clase calendar de la forma que desee. Implementar la hora, la fecha, la zona, el lugar y otros ajustes es relativamente simple para los novatos.

Esperamos que ahora comprenda cómo usar el calendario gregoriano en Java. Continúe ajustando y practicando lo que ha aprendido hasta ahora.

Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

Artículo relacionado - Java Calendar