在我目前的项目中,我将以毫秒为单位保存日期:
long f = jXDatePicker1.getDateInMillis();
//Data is saved in database.
接下来我正在写一个这样的查询:
long firstDate = jXDatePicker1.getDateInMillis();
long secondDate = jXDatePicker2.getDateInMillis();
Calendar cal = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
int rows = model.getRowCount();
if (rows>0){
for(int i=0 ; i<rows; i++)
{model.removeRow(0);}}
String query = "SELECT CODE, AD_DATE, EX_DATE, PLAN_NAME, AMOUNT, DISCOUNT, TOTAL"
+ " FROM ADMISSION_MASTER WHERE AD_DATE>="+firstDate+" AND AD_DATE<="+secondDate+" ";
try{
conn = new data.connection().db();
stmtt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmtt.executeQuery(query);
while(rs.next()){
long F = rs.getLong("AD_DATE"); cal.setTimeInMillis(F);
long T = rs.getLong("EX_DATE"); cal2.setTimeInMillis(T);
String frm = sdf.format(cal.getTime());
String too = sdf.format(cal2.getTime());
model.addRow (new Object[]{rs.getString(1), frm, too, rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7)});
}}
catch(SQLException ex){}
finally{try{stmtt.close(); rs.close(); conn.close();}
catch(SQLException ex){}
现在我在JXDatePicker中选择日期。第一日= 2014年3月5日第二日:2014年3月6日。
我从未在3月6日获得jtable。我将选择2014年3月7日的3月6日展示。 我认为这是发生在时区。如何解决这个问题?请帮忙。