Java 查询以检查时间戳

Java 查询以检查时间戳,java,mysql,sql,Java,Mysql,Sql,在我的java项目中,我想列出一个表的值 可编程的 表中有四个字段programid、programname、startdate和enddate 我想列出今天完成的程序的详细信息 startdate和enddate作为时间戳在数据库数据类型中。请帮助我查找查询以获取今天完成的程序的详细信息 我将我的代码添加到此。我用这个方法。但它不起作用 String todayDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); today

在我的java项目中,我想列出一个表的值

可编程的

表中有四个字段programid、programname、startdate和enddate

我想列出今天完成的程序的详细信息


startdate和enddate作为时间戳在数据库数据类型中。请帮助我查找查询以获取今天完成的程序的详细信息

我将我的代码添加到此。我用这个方法。但它不起作用

String todayDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
todayDatem=todayDate+" 00:00:00";
todayDaten=todayDate+" 23:59:59";
Timestamp timestamp1 = Timestamp.valueOf(todayDatem);
Timestamp timestamp2 = Timestamp.valueOf(todayDaten);
System.out.println("timestamp1:"+timestamp1+timestamp2);
String sql3 = "select * form programtable where startdate between '”+timestamp1+”' and '”+timestamp2+”'";  
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);  
List<programmodel> pgm = jdbcTemplate.query(sql3, ParameterizedBeanPropertyRowMapper.newInstance(programmodel .class));

如果你是说今天开始和结束

 SELECT *
 FROM programtable
 WHERE startdate = CURDATE() AND enddate = CURDATE();
 SELECT *
 FROM programtable
 WHERE enddate = CURDATE();
如果你是说从今天开始

 SELECT *
 FROM programtable
 WHERE startdate = CURDATE();
如果你的意思是今天完成

 SELECT *
 FROM programtable
 WHERE startdate = CURDATE() AND enddate = CURDATE();
 SELECT *
 FROM programtable
 WHERE enddate = CURDATE();

最好在查询中使用占位符而不是文本日期:

    java.sql.Date d1 = new java.sql.Date(System.currentTimeMillis());
    java.sql.Date d2 = new java.sql.Date(System.currentTimeMillis() + 24  * 3600 * 1000);
    String sql3 = "select * from programtable where startdate between ? and ?"; 
    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);  
    List<programmodel> pgm = jdbcTemplate.query(sql3, ParameterizedBeanPropertyRowMapper.newInstance(programmodel.class), d1, d2);

可能会有帮助如果你有任何代码,请告诉我们。对不起。。。不明白。startdate和enddate在时间戳数据类型的数据库中。例如:2014-12-12:11:45格式。我在问题中添加了一些代码。请检查。startdate和enddate在时间戳数据类型的数据库中。例如:2014-12-12:11:45格式。我编辑我的问题。添加一些代码OK。我确定了我的答案非常感谢你。。。我还有一些疑问。当这个项目启动时,服务器可能在另一个位置,也可能在美国。当我使用这个代码时,会导致任何问题。我认为这需要系统时间。1 SQL驱动程序忽略java.SQL.Date 2中的时间部分。2测试它