trong cơ sở dữ liệu cột của tôi là loại dấu thời gian, vì vậy lớp học của tôi có các tính chất của kiểu Datetime như thế này:nhận DateTime từ ResultSet trong JdbcTemplate
public void setDiscoveryDate(final DateTime discoveryDtTm) {
this.discoveryDtTm = discoveryDtTm;
}
bây giờ trong JdbcTemplate Tôi muốn để có được nó, vì vậy một số mã như thế này :
variant.setDiscoveryDate(rs.getTimestamp("discovery_dt_tm"));
không hoạt động vì cột lấy kết quả tôi không thể tìm thấy thứ trả về DateTime, tôi chỉ thấy getDate hoặc getTime.
cảm ơn, vì vậy chúng tôi vẫn chỉ nhận được tie với .getTime() và chuyển nó đến DateTime mới, sau đó những gì happends để Ngày? – Bohn
@BDotA: 'Timestamp.getTime()' được đặt tên không đúng - nó trả về mili giây kể từ ngày 1 tháng 1 năm 1970 và bao gồm cả phần ngày và giờ. – skaffman
rs.getTimestamp() sẽ trả về giá trị thô từ cơ sở dữ liệu, nhưng * trong múi giờ của JVM *. Nếu bạn lưu trữ các giá trị UTC trong cơ sở dữ liệu, thì DateTime mới (rs.getTimestamp()) sẽ trả về các giá trị không chính xác - được bù đắp bằng bất kỳ giá trị bù trừ UTC nào. –