¿Cómo convierto la fecha actual en una cadena en Java?
java
string
date
formatting
usuario354299
fuente
fuente
Tomado de aqui
fuente
Calendar
más deseable queDate
?fuente
Utilice una
DateFormat
implementación; ejSimpleDateFormat
.fuente
tl; dr
Es mejor especificar explícitamente la zona horaria deseada / esperada.
java.time
La forma moderna a partir de Java 8 y versiones posteriores es con el marco java.time .
Especifique la zona horaria, ya que la fecha varía en todo el mundo en un momento dado.
De forma predeterminada, obtiene una cadena en formato estándar ISO 8601 .
Para otros formatos use la
java.time.format.DateTimeFormatter
clase.Acerca de java.time
El marco java.time está integrado en Java 8 y versiones posteriores. Estas clases suplantar la vieja problemáticos heredados clases de fecha y hora como
java.util.Date
,Calendar
, ySimpleDateFormat
.El proyecto Joda-Time , ahora en modo de mantenimiento , aconseja la migración a las clases java.time .
Para obtener más información, consulte el tutorial de Oracle . Y busque Stack Overflow para obtener muchos ejemplos y explicaciones. La especificación es JSR 310 .
Puede intercambiar objetos java.time directamente con su base de datos. Utilice un controlador JDBC compatible con JDBC 4.2 o posterior. No se necesitan cuerdas, no se necesitan
java.sql.*
clases.¿Dónde obtener las clases java.time?
El proyecto ThreeTen-Extra extiende java.time con clases adicionales. Este proyecto es un campo de pruebas para posibles adiciones futuras a java.time. Usted puede encontrar algunas clases útiles aquí, como
Interval
,YearWeek
,YearQuarter
, y más .fuente
Más rápido :
fuente
Para un tiempo como AAAA-MM-dd
Y la biblioteca de DateTime es:
import org.joda.time.DateTime;
fuente
DateTime
? Una respuesta sobre el desbordamiento de pila debe tener alguna explicación, ya que este sitio está destinado a ser más que una biblioteca de fragmentos.La mayoría de las respuestas son / fueron válidas. La nueva modificación de la API de JAVA para el manejo de fechas aseguró que se redujera alguna ambigüedad anterior en el manejo de fechas de Java.
Recibirá un mensaje obsoleto para llamadas similares.
La llamada anterior hizo que el desarrollador asumiera que un nuevo objeto Date dará al objeto Date con la marca de tiempo actual. Este comportamiento no es coherente en otras clases de API de Java.
La nueva forma de hacer esto es usando la Instancia de Calendario .
Aquí también la convención de nomenclatura no es perfecta, pero está muy organizada. Para una persona como yo que tiene dificultades para asaltar cosas pero que nunca olvidaría algo si suena / parece lógico, este es un buen enfoque.
Esto es más sinónimo de la vida real.
Una forma más de hacer esto es usando Joda Time API
o lo más obvio
ambos devolverán el mismo resultado.
fuente
java.util.Date
,java.util.Calendar
yjava.text.SimpleTextFormat
ahora están legado , suplantados por los java.time clases. Además, el proyecto Joda-Time está ahora en modo de mantenimiento , y el equipo aconseja la migración a java.time.Clock
implementación en Java 8 es exactamente la misma que la de las clases heredadas. Solo en Java 9 llega una nueva implementación, capaz de capturar el momento actual con una resolución tan fina como nanosegundos.fuente
String
formato a su función.