在Java中处理MySQLdate和时间戳
在java应用程序中,在使用date时间和时间戳混合的MySQL数据库中提取和inputdate信息方面有什么好的折中?
在Java方面,date通常由(糟糕的devise,但抛开) java.util.Date 。 它基本上支持了时代的味道,也被称为时间戳。 它包含有关date和时间部分的信息。 在Java中,精度以毫秒为单位。 
 在SQL方面,有几种标准的date和时间types, DATE , TIME和TIMESTAMP (在某些DB也称为DATETIME ),在JDBC中表示为java.sql.Date , java.sql.Time和java.sql.Timestamp , java.util.Date所有子类 。 精度依赖于数据库,通常以毫秒为单位,如Java,但也可以在几秒钟内完成。 
 与java.util.Date相反, java.sql.Date只包含有关date部分(年,月,日)的信息。  Time只包含有关时间部分(小时,分钟,秒)的信息, Timestamp包含有关这两部分的信息,就像java.util.Date所做的那样。 
 在数据库中存储时间戳的正常实践(因此,Java端的java.util.Date和JDBC端的java.sql.Timestamp )是使用PreparedStatement#setTimestamp() 。 
 java.util.Date date = getItSomehow(); Timestamp timestamp = new Timestamp(date.getTime()); preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?"); preparedStatement.setTimestamp(1, timestamp); 
 从数据库获取时间戳的一般做法是使用ResultSet#getTimestamp() 。 
 Timestamp timestamp = resultSet.getTimestamp("ts"); java.util.Date date = timestamp; // You can just upcast. 
  MySQL 文档具有将MySQLtypes映射到Javatypes的信息。 一般来说,对于MySQL datetime和timestamps,你应该使用java.sql.Timestamp 。 一些资源包括: 
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
http://www.coderanch.com/t/304851/JDBC/java/Java-date-MySQL-date-conversion
如何将Javadate存储到MySQLdate时间…?
编辑:
正如其他人所指出的,使用string的build议可能会导致问题。