SQL Server 的 datetime数据类型 和 java 的Date数据类型的互相转化以及提取年月日的方法以及根据年月日构造Date对象

以下方法应该也适用于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);  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值