java 怎样获取java.sql.date 类型年月日并插入到数据库date类型中
Java中得到Java.sql.date类型只要年月日,插入到数据库中,数据库中为date类型...
Java中得到Java.sql.date类型只要年月日,插入到数据库中,数据库中为date类型
展开
展开全部
字段updateTime为Date类型,那么如果只要精确到年月日,那么就使用trunc(updateTime)即可,其他还有:
trunc[截断到最接近的日期,单位为天] ,返回的是日期类型
select sysdate S1,
trunc(sysdate) S2, //返回当前日期,无时分秒
trunc(sysdate,'year') YEAR, //返回当前年的1月1日,无时分秒
trunc(sysdate,'month') MONTH , //返回当前月的1日,无时分秒
trunc(sysdate,'day') DAY //返回当前星期的星期天,无时分秒
trunc[截断到最接近的日期,单位为天] ,返回的是日期类型
select sysdate S1,
trunc(sysdate) S2, //返回当前日期,无时分秒
trunc(sysdate,'year') YEAR, //返回当前年的1月1日,无时分秒
trunc(sysdate,'month') MONTH , //返回当前月的1日,无时分秒
trunc(sysdate,'day') DAY //返回当前星期的星期天,无时分秒
展开全部
Date date = new Date(System.currentTimeMillis()); //System.currentTimeMillis()获取1970年开始的到现在的毫秒值
在你用格式化函数格式话一下SimpleDateFormat dimple = new SimpleDateFormat("yyyy-MM-dd ");
dimple.format(date) 把date格式化
在你用格式化函数格式话一下SimpleDateFormat dimple = new SimpleDateFormat("yyyy-MM-dd ");
dimple.format(date) 把date格式化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JDBC环境下
如果使用的是PreparedStatement接口:
String sql = "insert into 表名(date类型的列) values(?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setDate(1, date对象);
stmt.executeUpdate();
如果使用的是Statement接口:
java.text.SimpleDateFormat fmt1 = new java.text.SimpleDateFormat("yyyy-MM-dd"); // mssql、mysql格式
java.text.SimpleDateFormat fmt2 = new java.text.SimpleDateFormat("dd-MM月-yyyy"); // oracle格式
String sql = String.format("insert into 表名(date类型的列) values('%s')", fmt1.format(date对象));
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);
使用Hibernate和mybaits的确就不用关心类型转换问题了~
如果使用的是PreparedStatement接口:
String sql = "insert into 表名(date类型的列) values(?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setDate(1, date对象);
stmt.executeUpdate();
如果使用的是Statement接口:
java.text.SimpleDateFormat fmt1 = new java.text.SimpleDateFormat("yyyy-MM-dd"); // mssql、mysql格式
java.text.SimpleDateFormat fmt2 = new java.text.SimpleDateFormat("dd-MM月-yyyy"); // oracle格式
String sql = String.format("insert into 表名(date类型的列) values('%s')", fmt1.format(date对象));
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);
使用Hibernate和mybaits的确就不用关心类型转换问题了~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、用hibernate就可以直接屏蔽掉这个问题,直接面向对象就可以了。
2、如果自己要用jdbc去操作的话,
我想起来可能行的两个方式(我都试过,我以前用jdbc都是直接插入int,string等):
(1)jdbc中的PreparedStatements中也是有相应的位置值的填充,好像是有一个直接插入一个date类型值的接口方法。
(2)插入一个跟数据中的date类型一致的字符串格式就可以了。如
yyyy-MM-dd hh:mm:ss等这样的样式。
2、如果自己要用jdbc去操作的话,
我想起来可能行的两个方式(我都试过,我以前用jdbc都是直接插入int,string等):
(1)jdbc中的PreparedStatements中也是有相应的位置值的填充,好像是有一个直接插入一个date类型值的接口方法。
(2)插入一个跟数据中的date类型一致的字符串格式就可以了。如
yyyy-MM-dd hh:mm:ss等这样的样式。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询