Fecha y hora de Java:SimpleDateFormat, fecha actual y comparación
En este tutorial, aprenderá:
- Mostrar fecha actual en Java
- SimpleDateFormat:análisis y formato de fechas
- Ejemplo de comparación de fechas
Primero entendamos los parámetros que consisten en una Fecha .
Contendrá principalmente –
- El año (en 2 o 4 dígitos)
- El mes (ya sea en 2 dígitos, las 3 primeras letras del mes o la palabra completa del mes).
- La fecha (será la fecha real del mes).
- El día (el día en la fecha dada, como domingo, lunes, martes, etc.)
En cuanto a los sistemas informáticos, hay bastantes parámetros que se pueden utilizar para asociar una fecha. Los veremos en las partes posteriores de este tema.
Mostrar fecha en Java
Ahora veamos cómo Java nos proporciona la Fecha. Primero, veremos cómo obtener la fecha actual-
Java proporciona una clase de fecha en el paquete java.util. El paquete proporciona varios métodos para jugar con la fecha.
Puede usar el objeto Fecha invocando el constructor de la clase Fecha de la siguiente manera:
import java.util.Date; class Date_Ex1 { public static void main(String args[]) { // Instantiate a Date object by invoking its constructor Date objDate = new Date(); // Display the Date & Time using toString() System.out.println(objDate.toString()); } }
Salida:
Wed Nov 29 06:36:22 UTC 2017
En el ejemplo anterior, la fecha se muestra en el formato predeterminado. Si queremos mostrar la fecha y la hora en otro formato, primero comprenda el formato de la fecha.
SimpleDateFormat:análisis y formato de fechas
Todos ustedes deben haber aprendido los alfabetos en su jardín de infantes….
Aprendamos ahora el ABC del formato de fecha.
Carta | Componente de fecha u hora | Ejemplos |
---|---|---|
G | Designador de era | AD |
y | Año | 2018 |
M | Mes del año | julio o julio o 07 |
w | Semana del año | 27 |
W | Semana en mes | 2 |
D | Día del año | 189 |
d | Día del mes | 10 |
F | Día de la semana en el mes | 2 |
E | Nombre del día en la semana | martes o mar |
u | Número de día de la semana (1 =lunes, …, 7 =domingo) | 1 |
a | Marcador am/pm | PM |
H | Hora del día (0-23) | 0 |
k | Hora del día (1-24) | 24 |
K | Hora en am/pm (0-11) | 0 |
h | Hora en am/pm (1-12) | 12 |
m | Minuto en hora | 30 |
s | Segundo en minuto | 55 |
S | Milisegundo | 978 |
z | Zona horaria | Hora estándar del Pacífico; PST; GMT-08:00 |
Z | Zona horaria | -0800 |
X | Zona horaria | -08 o -0800 o -08:00 |
No se preocupe, no necesita recordar todo esto, puede consultarlos en cualquier momento que necesite formatear una fecha en particular.
¿Cómo usar el formato de fecha simple?
Java proporciona una clase llamada SimpleDateFormat que le permite formatear y analizar fechas según sus requisitos.
Puede utilizar los caracteres anteriores para especificar el formato-
Por ejemplo:
1) Formato de fecha requerido:2012.10.23 20:20:45 PST
El formato de fecha apropiado especificado será- yyyy.MM.dd HH:mm:ss zzz
2) Formato de fecha requerido:09:30:00 a.m. 23 de mayo de 2012
El formato de fecha apropiado especificado será-hh:mm:ss a dd-MMM-yyyy
Consejo: Cuidado con las mayúsculas de las letras. ¡Si confunde M con m, obtendrá resultados no deseados!
Aprendamos esto con un ejemplo de código.
import java.text.SimpleDateFormat; import java.util.Date; class TestDates_Format { public static void main(String args[]) { Date objDate = new Date(); // Current System Date and time is assigned to objDate System.out.println(objDate); String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date } }
Salida:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
Ejemplo de comparación de fechas
El método más útil para comparar fechas es usar el método compareTo()
Echemos un vistazo al siguiente fragmento de código-
import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; class TestDates_Compare { public static void main(String args[]) throws ParseException { SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy"); Date dt_1 = objSDF.parse("20-08-1981"); Date dt_2 = objSDF.parse("12-10-2012"); System.out.println("Date1 : " + objSDF.format(dt_1)); System.out.println("Date2 : " + objSDF.format(dt_2)); if (dt_1.compareTo(dt_2) > 0) { System.out.println("Date 1 occurs after Date 2"); } // compareTo method returns the value greater than 0 if this Date is after the Date argument. else if (dt_1.compareTo(dt_2) < 0) { System.out.println("Date 1 occurs before Date 2"); } // compareTo method returns the value less than 0 if this Date is before the Date argument; else if (dt_1.compareTo(dt_2) == 0) { System.out.println("Both are same dates"); } // compareTo method returns the value 0 if the argument Date is equal to the second Date; else { System.out.println("You seem to be a time traveller !!"); } } }
Salida:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2
Java
- Cálculos de voltaje y corriente
- ¿Cómo obtener la fecha y hora actuales en Python?
- Python Obtener la hora actual
- Operadores Java
- Comentarios Java
- Java para cada bucle
- Java - Fecha y hora
- C++ Fecha y hora
- Java 10 - Versión de versión basada en el tiempo
- Java 8 - Nueva API de fecha/hora
- Python - Fecha y hora