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 clase getInstance() método de la misma.
  • Llama a format() DateFormat y pase el Calendar.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
k Hora del día (1-24) Número 24
K Hora am / pm (0-11) Número
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:

leer  Formato de fecha de Java con zona horaria

Artículos Relacionados:

  1. Java: muestra la hora actual en formato de milisegundos
  2. Java: muestra la hora en formato de 12 horas con AM / PM
  3. Java: convierte la fecha en una cadena
  4. Java: convierte la cadena a la fecha
  5. Java: agregue días a la fecha

Por avivcas

Deja una respuesta

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