Usando SimpleDateFormat y Date/Calendar
clase, podemos conseguir fácilmente fecha y hora actual en Java. En este tutorial veremos cómo obtener la fecha y hora actual usando la clase Date and Calendar y cómo obtenerla en el formato deseado usando la clase SimpleDateFormat.
Fecha y hora actual en Java: dos formas de obtenerla
1) Usando la clase Date
- Especifique la plantilla deseada al crear instancias
SimpleDateFormat
. - Crea un objeto de la clase Date.
- Llama a método format () de la clase DateFormat y pasar el objeto de datos como parámetro al método.
/* This will display the date and time in the format of * 12/09/2017 24:12:35. See the complete program below */ DateFormat df = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); Date dateobj = new Date(); System.out.println(df.format(dateobj));
2) Usando la clase Calendar
- Especifique la plantilla deseada para la fecha y la hora. Similar al paso 1 del método anterior.
- Crea un objeto de
Calendar
llamada de clasegetInstance()
método de la misma. - Llama a
format()
DateFormat y pase elCalendar.getTime()
como parámetro de método.
DateFormat df = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); Calendar calobj = Calendar.getInstance(); System.out.println(df.format(calobj.getTime()));
Código Java completo para obtener la fecha y hora actual
import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; public class GettingCurrentDate { public static void main(String[] args) { //getting current date and time using Date class DateFormat df = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); Date dateobj = new Date(); System.out.println(df.format(dateobj)); /*getting current date time using calendar class * An Alternative of above*/ Calendar calobj = Calendar.getInstance(); System.out.println(df.format(calobj.getTime())); } }
Producción:
21/10/17 22:13:06 21/10/17 22:13:06
Siempre que ejecuto el código anterior, recupera la fecha y hora actuales.
Nota: Para obtener la salida en el formato anterior, especifiqué el patrón de fecha / hora en el programa (tenga en cuenta la primera declaración del programa DateFormat df = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
.
Sin embargo, si desea imprimir en cualquier otro formato de fecha, simplemente cambie la plantilla en consecuencia. Por ejemplo, para obtener solo la fecha, el patrón sería dd-MM-aaaa: reemplace la declaración con esto: DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
Mientras especifica el motivo, preste atención al caso. Por ejemplo, la ‘s’ (minúscula) representa el segundo mientras que la ‘S’ (la mayúscula) representa el milisegundo.
Al final de esta guía, compartí la tabla completa de símbolos que podemos usar en las plantillas para obtener la fecha y la hora en el formato deseado.
Java: obtenga la fecha y hora actuales en otra zona horaria
El ejemplo que vimos arriba muestra la fecha y la hora en la zona horaria local. Sin embargo, podemos obtener la fecha y la hora en diferentes zonas horarias, como UTC / GMT, etc. En el siguiente ejemplo, mostramos la hora en la zona horaria GMT.
import java.util.Date; import java.text.SimpleDateFormat; import java.util.TimeZone; public class Example { public static void main(String[] args) { //"hh" in pattern is for 12 hour time format and "aa" is for AM/PM SimpleDateFormat dateTimeInGMT = new SimpleDateFormat("yyyy-MMM-dd hh:mm:ss aa"); //Setting the time zone dateTimeInGMT.setTimeZone(TimeZone.getTimeZone("GMT")); System.out.println(dateTimeInGMT.format(new Date())); } }
Producción:
2017-Oct-21 06:03:42 PM
Actualizar: Para obtener la fecha y hora actuales en Java 8, consulte esta guía.
Aquí está la tabla completa que le ayudará a definir el modelo en SimpleDateFormat
.
Letra | Componente de fecha u hora | Presentación | Ejemplos de |
---|---|---|---|
G |
Designador de época | Texto | AD |
y |
Año | Año |
1996 ; 96
|
Y |
Año de la semana | Año |
2009 ; 09
|
M |
Mes del año | Mes |
July ; Jul ; 07
|
w |
Semana del año | Número | 27 |
W |
Semana a mes | Número | 2 |
D |
Día del año | Número | 189 |
d |
Día en mes | Número | 10 |
F |
Día de la semana en el mes | Número | 2 |
E |
Nombre del día de la semana | Texto |
Tuesday ; Tue
|
u |
Número del día de la semana (1 = lunes, …, 7 = domingo) | Número | 1 |
a |
Indicador am / pm | Texto | PM |
H |
Hora del día (0-23) | Número | 0 |
k |
Hora del día (1-24) | Número | 24 |
K |
Hora am / pm (0-11) | Número | 0 |
h |
Hora am / pm (1-12) | Número | 12 |
m |
Minuto a hora | Número | 30 |
s |
Segundo por minuto | Número | 55 |
S |
Milisegundo | Número | 978 |
z |
Zona horaria | Zona horaria general |
Pacific Standard Time ; PST ; GMT-08:00
|
Z |
Zona horaria | Zona horaria RFC 822 | -0800 |
X |
Zona horaria | Zona horaria ISO 8601 |
-08 ; -0800 ; -08:00
|
Referencias:
Artículos Relacionados:
- Java: muestra la hora actual en formato de milisegundos
- Java: muestra la hora en formato de 12 horas con AM / PM
- Java: convierte la fecha en una cadena
- Java: convierte la cadena a la fecha
- Java: agregue días a la fecha