以下方法应该也适用于mysql数据库。
1. SQL Server 的 datetime或者date数据类型 ----转换为------> java 的 Date数据类型。
import java.util.Date;
Date date = rs.getDate("column"); //column列是datetime或者date数据类型
2. java 的 Date数据类型 ----转换为------> SQL Server 的 datetime数据类型。
当你使用jdbc中的pstmt.setDate();方法的时候,这个方法的参数值必须是java.sql.Date类型的。
而不是java.util.Date类型的。当你使用下面的代码的时候:
import java.util.Date;
pstmt.setDate(Date date);
会报这样的错误:The method setDate(int, java.sql.Date) in the type PreparedStatement is not applicable for the arguments (int, java.util.Date)。意思是:不能将java.util.Date数据类型作为java.sql.Date类型来充当这个函数的第二个参数。
改正方法:
import java.util.Date;
Date date = new Date();
java.sql.Date datetime = new java.sql.Date(date.getTime());
使用java.sql.Date中的构造方法生成一个java.sql.Date中的对象。
注意:这里不能直接用Date,因为这样无法区分这个Date是java.sql.Date还是java.util.Date。因为我们已经引入了 java.util.Date了,所以无法再引入java.sql.Date
3. 提取Date中的年 月 日。
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
4. 根据年月日构造一个Date对象。
String year = "2018";
String month = "03";
String day = "03";
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = year+"-"+month+"-"+day;
Date date = format.parse(dateStr);