Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL datetime không trả lại thời gian

Bạn cần sử dụng các phương thức getTime () hoặc getTimestamp () như được đề xuất trong nhận xét của Thomas. Tuy nhiên, để đưa ra một ví dụ ...

Giả sử bảng bạn truy vấn như sau:rs = stmt.executeQuery("select timeCol, dateCol, dateTimeCol from dateTimeTable");

Bạn có thể làm:

java.sql.Time dbSqlTime = rs.getTime(1);
java.sql.Date dbSqlDate = rs.getDate(2);
java.sql.Timestamp dbSqlTimestamp = rs.getTimestamp(3);

Nếu bạn muốn sử dụng đối tượng ngày trong Java:

java.util.Date dbSqlTimeConverted = new java.util.Date(dbSqlTime.getTime());
java.util.Date dbSqlDateConverted = new java.util.Date(dbSqlDate.getTime());

Tôi cũng sẽ xem JodaTime để làm việc với Dates trong Java, làm cho cuộc sống trở nên đơn giản hơn nhiều.

Cuối cùng, điều đáng chú ý là có một vài khác biệt giữa Dấu thời gian và DateTime trong MySQL. Cụ thể là Dấu thời gian có múi giờ và máy chủ sẽ trả về Dấu thời gian được truy vấn theo giờ địa phương của Máy chủ (điều này có thể gây khó chịu). Lời khuyên của tôi là sử dụng DateTime và luôn giữ ngày / giờ trong cùng một múi giờ (tức là UTC). Xem http://dev.mysql.com/doc/refman/ 5.0 / vi / datetime.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo bảng và sự cố với khóa chính trong Rails

  2. Có thể chèn một hàng mới ở đầu bảng MySQL không?

  3. Cách đánh giá hiệu suất của Moodle

  4. MySQL CASE để cập nhật nhiều cột

  5. Kiểm soát phiên bản cơ sở dữ liệu cho MySQL