2009-06-04 21 views
9

JDBC me ofrece 3 tipos de datos diferentes para los campos relacionados con el tiempo: "Fecha", "Tiempo" y "Marca de tiempo". ¿Puede alguien proporcionar un resumen simple de para qué se usa cada uno y cómo elegir qué usar para un problema determinado?En JDBC, cuándo usar el tiempo, Fecha y Hora

Respuesta

16

Asumamos que tiene la fecha/hora 1 de enero de, de 2003 14:00 almacena en una columna de base de datos. Las tres opciones se utilizan como sigue:

Fecha de uso si usted está interesado sólo en la parte de fecha de la cadena de fecha.

  • ex: 1 Enero de 2003

Uso de tiempo si usted está interesado sólo en la porción momento de la cadena de fecha

  • ex: 2:00 pm

utilice Marca de tiempo si desea que la fecha y hora de la cadena de fecha

  • por ejemplo: 1 de enero de 2003 14:00
+0

Fecha almacena el tiempo también. Timestamp puede tener una resolución de tiempo más fina que Date. – Gandalf

+0

Esta respuesta suena bien, pero estoy bastante seguro de que es inexacta. El objeto java.sql.Date contiene un tiempo (hasta milisegundos). – mcherm

+2

Eso es cierto, pero cuando recupera una fecha con el método ResultSet.getDate(), que establece la porción momento de la fecha a las 00:00. Es lo que JDBC llama "normalizar" cuando usa getDate ya que getDate devuelve un objeto java.util.Date. –