版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fhf2424045058/article/details/84066576
Bean类
import java.util.Date;
private Date active_time;//启用时间
private Date insert_time;//入库时间
数据库字段:
"ACTIVE_TIME" DATE,
"INSERT_TIME" DATE,
service层:
IncreDataBean idb=null;
idb.setActive_time(DateUtil.S2D(increList[5]));
idb.setInsert_time(DateUtil.S2D(DateUtil.getcurDateString()));
utils类:
1、获取当前时间
import java.util.Date;
public static String getcurDateString(){
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
Calendar calendar = Calendar.getInstance();// 日历对象
calendar.setTime(date);// 设置当前日期
String curfirstDay = format.format(calendar.getTime());// 获取格式化后的时间
return curfirstDay;
}
2、将String类型的日期转为java.util.Date类型:
import java.util.Date;
public static Date S2D(String activetime){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=null;
try {
date = sdf.parse(activetime);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
dao层:
PreparedStatement pst=conn.prepareStatement(InsertFullSql);
pst.setTimestamp(5,new java.sql.Timestamp(fullDataBean.getActive_time().getTime()));
pst.setTimestamp(6,new java.sql.Timestamp(fullDataBean.getInsert_time().getTime()));
存入数据库的日期格式为:
2018/11/14 11:18:54
关于java.sql.Date和java.util.Date的说明
1、java.sql.Date为 java.util.Date的一个子类,继承了java.util.Date中的方法,
2、java.sql.date对应数据库中的date类型,而父类java.util.date为Java里的对象类型
3、java.util.Date把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 输出,而 java.sql.Date 则格式化日期转义形式 yyyy-mm-dd 的日期。
4、插入到数据库的时间要精确到秒,只有用Timestamp来进行保存,由于Timestamp是子类,因此写好的bean里面不需要修改数据类型。 若只需要存入日期,就可以用
pst.setDate(6, new java.sql.Date(fullDataBean.getInsert_time().getTime()));
方法:
-
pst.setDate(int i , java.sql.Date date);
-
将java.util.Date转为java.sql.Date
java.util.Date ud = new java.util.Date();
java.sql.Date sd = new java.sql.Date(ud.getTime());
由于存入到数据库的字段的类型是date,在用sql语句查询时,需要转为char
select to_char(insert_time,'yyyy-mm-dd hh24:mi:ss') from np_increment_data_20181115 where rownum<10;
不用to_char进行查询的话查询的结果是:
总结:个人认为数据库的字段类型最好是varchar 或varchar2,或者char,这样在存入或取出的时候,在程序里对日期进行转换,这样会更便于开发。
文章链接:https://blog.csdn.net/fu_manxing/article/details/52189236