Clase de calendario gregoriano en Java
-
Clase
Java.util.Calendar
-
Clase
java.util.Locale
-
Diferencia entre la clase
GregorianCalendar()
y la claseCalendar
en Java - Implementación de la clase de calendario gregoriano en Java
- Resumen
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.
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.
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 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