¿Cómo se obtienen horas y minutos desde que se anularon Date.getHours
y Date.getMinutes
? Los ejemplos que encontré en la búsqueda de Google utilizaron los métodos obsoletos.Java: getMinutes y getHours
Respuesta
Desde el Javadoc para Date.getHours
As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY)
a fin de utilizar
Calendar rightNow = Calendar.getInstance();
int hour = rightNow.get(Calendar.HOUR_OF_DAY);
y el equivalente de getMinutes.
En primer lugar, la importación java.util.Calendar
Calendar now = Calendar.getInstance();
System.out.println(now.get(Calendar.HOUR_OF_DAY) + ":" + now.get(Calendar.MINUTE));
Trate calendario. Use getInstance para obtener un Calender-Object. Luego use setTime para establecer la Fecha requerida. Ahora puede usar get (int field) con la constante adecuada, como HOUR_OF_DAY o más, para leer los valores que necesita.
http://java.sun.com/javase/6/docs/api/java/util/Calendar.html
Yo recomendaría buscar espacios publicitarios joda. http://www.joda.org/joda-time/
Tenía miedo de agregar otra biblioteca a mi proyecto grueso, pero es fácil, rápido, inteligente e impresionante. Además, funciona bien con el código existente, hasta cierto punto.
Intente utilizar Joda Time en lugar de clases java.util.Date estándar. La biblioteca Joda Time tiene una API mucho mejor para manejar las fechas.
DateTime dt = new DateTime(); // current time
int month = dt.getMonth(); // gets the current month
int hours = dt.getHourOfDay(); // gets hour of day
ver este question para los pros y los contras del uso de la biblioteca Joda Time.
Joda Time también se puede incluir en alguna versión futura de Java como componente estándar, consulte JSR-310.
Si tiene que usar las clases tradicionales java.util.Date y java.util.Calendar, ver de su Javadoc de ayuda (java.util.Calendar y java.util.Date).
Puede utilizar las clases tradicionales como esta para recuperar campos de una instancia de fecha determinada.
Date date = new Date(); // given date
Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance
calendar.setTime(date); // assigns calendar to given date
calendar.get(Calendar.HOUR_OF_DAY); // gets hour in 24h format
calendar.get(Calendar.HOUR); // gets hour in 12h format
calendar.get(Calendar.MONTH); // gets month number, NOTE this is zero based!
Mientras yo no recomendaría hacerlo así, creo que es importante señalar que si bien se han desaprobado muchos métodos en java.util.Date, ellos siguen trabajando. En situaciones triviales, puede estar bien usarlos. Además, java.util.Calendar es bastante lento, por lo que getMonth y getYear en Date podrían ser útilmente más rápidos.
import java.util.*
Puede administrar gethour y minutos usando la clase de calendario y formateador. Calendar cal = Calendar.getInstance()
y Formatter fmt=new Formatter()
y establecer un formato de hora de visualización y fmt.format("%tl:%M",cal,cal)
e imprimir System.out.println(fmt)
salida da una hora como 10:12
java.time
Mientras soy fan de Joda-Time, Java 8 presenta el paquete java.time que finalmente es una solución de Java que vale la pena. Lea este artículo, Java SE 8 Date and Time, para obtener una buena cantidad de información sobre java.time fuera de horas y minutos.
En particular, observe la clase LocalDateTime
.
Horas y minutos:
LocalDateTime.now().getHour();
LocalDateTime.now().getMinute();
Esta es la mejor respuesta. Es posible que desee proporcionar un huso horario explícito para recordarle al lector y a usted mismo que esta es una operación sensible a la zona horaria: 'LocalDateTime.now (ZoneId.of (" Asia/Manilla "))'. Lea 'now()' solo una vez para consistencia (el tiempo pasará entre las dos llamadas). Si la fecha es realmente irrelevante, 'LocalTime' también funciona. –
int hr=Time.valueOf(LocalTime.now()).getHours();
int minutes=Time.valueOf(LocalTime.now()).getMinutes();
Estas funciones de respuesta INT valores de horas y minutos.
Duplicado. Este enfoque ya estaba cubierto en [Answer by J.D.] (http://stackoverflow.com/a/29270120/642706). –
¿Eso es 'java.sql.Time'? Ciertamente, no hay razón alguna para poner en juego esa clase desactualizada cuando tienes 'java.time.LocalTime'. Eres demasiado complicado. –
public static LocalTime time() {
LocalTime ldt = java.time.LocalTime.now();
ldt = ldt.truncatedTo(ChronoUnit.MINUTES);
System.out.println(ldt);
return ldt;
}
Esto funciona para mí
Elegante. Es posible que desee explicar por qué funciona. –
- 1. Fecha de Javascript: Asegúrese de que getMinutes(), getHours(), getSeconds() ponga 0 delante si es necesario
- 2. getHours() devuelve el valor incorrecto
- 3. getMinutes() 0-9 - ¿cómo hacerlo con dos números?
- 4. ¿Debo usar getHours() o getUTCHours para mi Javascript?
- 5. Cambiar la hora 1-24 a 1-12 hora para el método "getHours()"
- 6. Capacidades y Linux y Java
- 7. Diferencia entre Java SE y Java EE
- 8. diferencia entre java bean y java class?
- 9. Java genéricos y JNI
- 10. Comparando C# y Java
- 11. Java: SingleThreadScheduledExecutor y java.util.concurrent.RejectedExecutionException
- 12. MathML y Java
- 13. Java y MSMQ
- 14. Java: .contains y .equals
- 15. Java - compareTo y operadores
- 16. Java - TreeSet y hashCode()
- 17. Servidor Java y socket.io
- 18. Conjuntos asociativos y Java
- 19. Java 6 y SwingUtilities2
- 20. Java: Instanceof y genéricos
- 21. matrices Java y PostgreSQL
- 22. JAVA_HOME y java -version
- 23. interfaz Java y emisión
- 24. Valgrind y Java
- 25. Java: Fuentes y Píxeles
- 26. Java y SQLite
- 27. Java genéricos y varargs
- 28. Matlab, PHP y Java
- 29. JRuby y objetos Java
- 30. GSON y Java Throwable
Así que ... ¿cómo funciona esto si quiero obtener las horas de una fecha que no corresponde a ahora? – Michael
Ver http://stackoverflow.com/questions/8150155/java-gethours-getminutes-and-getseconds – Mark