【发布时间】:2011-08-13 14:57:12
【问题描述】:
我有这个 MySQL Date 6 个月的数据,格式如下:
2010-01-01 到 2010-07-01
但从 UI 中,ToDate 和 FromDate 以这种格式传递:
Jan 1, 2010 和 July 1, 2010
请告诉我如何将这些数据转换为 MySQL 等效格式?
【问题讨论】:
我有这个 MySQL Date 6 个月的数据,格式如下:
2010-01-01 到 2010-07-01
但从 UI 中,ToDate 和 FromDate 以这种格式传递:
Jan 1, 2010 和 July 1, 2010
请告诉我如何将这些数据转换为 MySQL 等效格式?
【问题讨论】:
首先创建一个SimpleDateFormat 用于解析来自 UI 的输入:
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy");
接下来将输入解析为java.sql.Date(不幸的是,它的名称与java.util.Date不同)。比如:
java.sql.Date date = new java.sql.Date(sdf.parse(fromDate).getTime());
在进行数据库查询时,最后使用date 传递给 JDBC。如:
Connection con; // assuming you have a database connection
PreparedStatement ps = con.prepareStatement("SELECT * FROM table WHERE x = ?");
ps.setDate(1, date);
ResultSet resultSet = ps.executeQuery();
【讨论】: