如何在java中更改sql日期格式
我使用JDBC连接和javaswingui,在那里我使用了sqlitedb。如何在java中更改sql日期格式,java,swing,sqlite,jdbc,jcalendar,Java,Swing,Sqlite,Jdbc,Jcalendar,我使用JDBC连接和javaswingui,在那里我使用了sqlitedb。 这里我有一个java组件,它是拾取日期的jCalender&我将日期拾取到字符串中 首先我将字符串转换为java.util.date,然后我将java.util.date转换为java.sql.date,但是我的日期字符串格式是“dd/MM/YYYY”& 然后 DateFormat格式=新的SimpleDateFormat(“dd/MM/YYYY”,Locale.ENGLISH) 我设置了上面写的具体日期格式。但在日期
这里我有一个java组件,它是拾取日期的jCalender&我将日期拾取到字符串中
首先我将字符串转换为java.util.date,然后我将java.util.date转换为java.sql.date,但是我的日期字符串格式是“dd/MM/YYYY”& 然后
DateFormat格式=新的SimpleDateFormat(“dd/MM/YYYY”,Locale.ENGLISH) 我设置了上面写的具体日期格式。但在日期之间搜索记录时仍然存在问题 这里我附上了一份代码plz GYZ的副本,帮助我这是非常重要的
假设您的记录\u date是数据库中的SQL日期(而不是一些varchar),请使用适当的 注意,随着Java7的引入,对closed-in-finally的整个try/catch/check变得更加容易
如果您的日期是一个varchar,您需要颠倒字段的顺序以某种方式提前设置最重要的字段-
yyy-MM-dd
。只有这样,字符串
/VARCHAR
的结果才会像字符串表示法那样进行比较。“但在日期之间搜索记录时仍然存在问题。”
--您需要对此进行详细说明。如果我上面的评论不完全清楚,这意味着您需要更详细地描述您可能看到的问题,包括发布任何和所有错误或异常消息,和/或详细描述您可能遇到的任何和所有错误行为。本质上,您不在乎,java.util/sql.Date
只是一个容器类,表示自unix时代以来的毫秒数,它没有“格式”。只需使用PreparedStatement
并将Date
对象直接绑定到查询,然后让驱动程序处理它
String from_date = ((JTextField) txt_bilty_date_start.getDateEditor().getUiComponent()).getText();
String to_date = ((JTextField) txt_bilty_date_end.getDateEditor().getUiComponent()).getText();
DateFormat format = new SimpleDateFormat("dd/MM/YYYY", Locale.ENGLISH);
Date date1 = format.parse(from_date);
Date date2= format.parse(to_date);
java.sql.Date sqlDate1 = new java.sql.Date(date1.getTime());
java.sql.Date sqlDate2 = new java.sql.Date(date2.getTime());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/YYYY");
System.out.println("\t\tafter change date");
System.out.println(sdf.format(sqlDate1));
System.out.println(sdf.format(sqlDate2));
String sql = "select * from employee where record_date BETWEEN '"+sdf.format(sqlDate1)+"' AND '"+sdf.format(sqlDate2)+"' ";
pst=conn.prepareStatement(sql2);
rs = pst.executeQuery();
tbl_employee.setModel(DbUtils.resultSetToTableModel(rs));
String sql = "select * from employee where record_date BETWEEN ? AND ?";
pst=conn.prepareStatement(sql2);
pst.setDate(1, sqlDate1);
pst.setDate(2, sqlDate2);
rs = pst.executeQuery();