una semana obtener nombre mes ingresar hora fecha año actual java date

semana - ¿Cómo obtener el año, mes, día, horas, minutos, segundos y milisegundos del momento actual en Java?



obtener mes y año de una fecha java (8)

¿Cómo puedo obtener el año, mes, día, horas, minutos, segundos y milisegundos del momento actual en Java? Me gustaría tenerlos como Strings .


Calendar now = new Calendar () // o nuevo GregorianCalendar (), o el sabor que necesites

ahora.MONTO ahora.HOUR

etc.


Cambie a joda-time y puede hacer esto en tres líneas

DateTime jodaTime = new DateTime(); DateTimeFormatter formatter = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss.SSS"); System.out.println("jodaTime = " + formatter.print(jodaTime));

También tiene acceso directo a los campos individuales de la fecha sin usar un calendario.

System.out.println("year = " + jodaTime.getYear()); System.out.println("month = " + jodaTime.getMonthOfYear()); System.out.println("day = " + jodaTime.getDayOfMonth()); System.out.println("hour = " + jodaTime.getHourOfDay()); System.out.println("minute = " + jodaTime.getMinuteOfHour()); System.out.println("second = " + jodaTime.getSecondOfMinute()); System.out.println("millis = " + jodaTime.getMillisOfSecond());

La salida es la siguiente:

jodaTime = 2010-04-16 18:09:26.060 year = 2010 month = 4 day = 16 hour = 18 minute = 9 second = 26 millis = 60

De acuerdo con http://www.joda.org/joda-time/

Joda-Time es la biblioteca de fecha y hora estándar de facto para Java. Desde Java SE 8 en adelante, los usuarios deben migrar a java.time (JSR-310).


Con Java 8 y posterior, use el paquete java.time .

LocalDateTime.now().getYear(); LocalDateTime.now().getMonthValue(); LocalDateTime.now().getDayOfMonth(); LocalDateTime.now().getHour(); LocalDateTime.now().getMinute(); LocalDateTime.now().getSecond();

LocalDateTime.now() es un método estático que devuelve la fecha-hora actual del reloj del sistema en la zona horaria predeterminada. Todos los métodos get devuelven un valor int .


Mire la documentación API para la clase java.util.Calendar y sus derivadas (puede interesarle específicamente la clase GregorianCalendar).


O use java.sql.Timestamp. El calendario es bastante pesado, recomendaría no usarlo en el código de producción. Joda es mejor.

import java.sql.Timestamp; public class DateTest { /** * @param args */ public static void main(String[] args) { System.out.println(new Timestamp(System.currentTimeMillis())); } }


Puede usar los getters de java.time.LocalDateTime para eso.

LocalDateTime now = LocalDateTime.now(); int year = now.getYear(); int month = now.getMonthValue(); int day = now.getDayOfMonth(); int hour = now.getHour(); int minute = now.getMinute(); int second = now.getSecond(); int millis = now.get(ChronoField.MILLI_OF_SECOND); // Note: no direct getter available. System.out.printf("%d-%02d-%02d %02d:%02d:%02d.%03d", year, month, day, hour, minute, second, millis);

O bien, cuando todavía no estés en Java 8, utiliza java.util.Calendar .

Calendar now = Calendar.getInstance(); int year = now.get(Calendar.YEAR); int month = now.get(Calendar.MONTH) + 1; // Note: zero based! int day = now.get(Calendar.DAY_OF_MONTH); int hour = now.get(Calendar.HOUR_OF_DAY); int minute = now.get(Calendar.MINUTE); int second = now.get(Calendar.SECOND); int millis = now.get(Calendar.MILLISECOND); System.out.printf("%d-%02d-%02d %02d:%02d:%02d.%03d", year, month, day, hour, minute, second, millis);

De cualquier manera, esto se imprime a partir de ahora:

2010-04-16 15:15:17.816

Para convertir un int en String , use String#valueOf() .

Si después de todo, su intención es organizarlos y exhibirlos en un formato de cadena amigable para los seres humanos, entonces use mejor el java.time.format.DateTimeFormatter de java.time.format.DateTimeFormatter ( tutorial aquí ),

LocalDateTime now = LocalDateTime.now(); String format1 = now.format(DateTimeFormatter.ISO_DATE_TIME); String format2 = now.atZone(ZoneId.of("GMT")).format(DateTimeFormatter.RFC_1123_DATE_TIME); String format3 = now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss", Locale.ENGLISH)); System.out.println(format1); System.out.println(format2); System.out.println(format3);

o cuando aún no está en Java 8, use java.text.SimpleDateFormat :

Date now = new Date(); // java.util.Date, NOT java.sql.Date or java.sql.Timestamp! String format1 = new SimpleDateFormat("yyyy-MM-dd''T''HH:mm:ss.SSS", Locale.ENGLISH).format(now); String format2 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH).format(now); String format3 = new SimpleDateFormat("yyyyMMddHHmmss", Locale.ENGLISH).format(now); System.out.println(format1); System.out.println(format2); System.out.println(format3);

De cualquier manera, esto produce:

2010-04-16T15:15:17.816 Fri, 16 Apr 2010 15:15:17 GMT 20100416151517

Ver también:


en java 7 calendario una línea

new SimpleDateFormat("yyyy-MM-dd''T''HH:mm:ss.SSS").format(Calendar.getInstance().getTime())


// Java 8 System.out.println(LocalDateTime.now().getYear()); // 2015 System.out.println(LocalDateTime.now().getMonth()); // SEPTEMBER System.out.println(LocalDateTime.now().getDayOfMonth()); // 29 System.out.println(LocalDateTime.now().getHour()); // 7 System.out.println(LocalDateTime.now().getMinute()); // 36 System.out.println(LocalDateTime.now().getSecond()); // 51 System.out.println(LocalDateTime.now().get(ChronoField.MILLI_OF_SECOND)); // 100 // Calendar System.out.println(Calendar.getInstance().get(Calendar.YEAR)); // 2015 System.out.println(Calendar.getInstance().get(Calendar.MONTH ) + 1); // 9 System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_MONTH)); // 29 System.out.println(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); // 7 System.out.println(Calendar.getInstance().get(Calendar.MINUTE)); // 35 System.out.println(Calendar.getInstance().get(Calendar.SECOND)); // 32 System.out.println(Calendar.getInstance().get(Calendar.MILLISECOND)); // 481 // Joda Time System.out.println(new DateTime().getYear()); // 2015 System.out.println(new DateTime().getMonthOfYear()); // 9 System.out.println(new DateTime().getDayOfMonth()); // 29 System.out.println(new DateTime().getHourOfDay()); // 7 System.out.println(new DateTime().getMinuteOfHour()); // 19 System.out.println(new DateTime().getSecondOfMinute()); // 16 System.out.println(new DateTime().getMillisOfSecond()); // 174 // Formatted // 2015-09-28 17:50:25.756 System.out.println(new Timestamp(System.currentTimeMillis())); // 2015-09-28T17:50:25.772 System.out.println(new SimpleDateFormat("yyyy-MM-dd''T''HH:mm:ss.SSS", Locale.ENGLISH).format(new Date())); // Java 8 // 2015-09-28T17:50:25.810 System.out.println(LocalDateTime.now()); // joda time // 2015-09-28 17:50:25.839 System.out.println(DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss.SSS").print(new org.joda.time.DateTime()));