SimpleDateFormat使用
String转Date
String STANDARD_DATE_FORMAT_UTC = "";//设置日期时间格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(STANDARD_DATE_FORMAT);//创建日期时间模板
String formatStr = "",//拿到与STANDARD_DATE_FORMAT_UTC一样的时间字符串
Date date = new Date();
date = simpleDateFormat.parse(formatStr);//根据模板把字符串转换成标准Date();
Date类型转String
String STANDARD_DATE_FORMAT_UTC = "";//设置日期时间格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(STANDARD_DATE_FORMAT);//创建日期时间模板
Date date = new Date();//拿到一个日期类型的值
String str = "";
str = simpleDateFormat.format(date);//根据模板把时间格式转换成特定格式的字符串
示例:(yyyy-MM-dd'T'HH:mm:ss.SSS'Z')
String STANDARD_DATE_FORMAT_UTC = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
SimpleDateFormat sdf_input = new SimpleDateFormat(STANDARD_DATE_FORMAT_UTC);//输入格式
String str=inMap.get("createDate").toString();
sdf_input.setTimeZone(TimeZone.getTimeZone("GMT"));
try {
Date date = sdf_input.parse(str);
epStaff.setCreateDate(str);
}catch (Exception e){
System.out.println(e);
}
Mybatis将日期时间格式数据持久到数据库中
通常用到的util包中的Date()类型在持久到数据库中时会报无法转换的错误,要使用
new java.sql.Date(date.getTime());
java.sql包下给出三个与数据库相关的日期时间类型,分别是:
- Date:表示日期,只有年月日,没有时分秒。会丢失时间;
- Time:表示时间,只有时分秒,没有年月日。会丢失日期;
- Timestamp:表示时间戳,有年月日时分秒,以及毫秒。
util包和sql包Date的转换:https://www.cnblogs.com/fengmingyue/p/6048225.html
java的date和数据库date类型
Oracle数据库以date类型保存日期时,Java中用哪个类对应数据库的date类型?
- 使用JDBC操作Oracle数据库时,使用java.sql.Date类型对应数据库的date类型,此时只能保存和读取日期部分,
时间(时分秒)部分不能读取和保存;
查询结果集可以直接获取Date类型的数据:java.sql.Date date=resultSet.getDate("dateTime");
java.sql.Date类型的数据也可以直接保存到数据库或者与数据库中date类型的数据直接比较大小;
字符串的日期,则用SQL语句的转换函数 to_date('2017-4-8','yyyy-mm-dd') 转换为date类型插入到数据库。
- 使用Hibernate操作Oracle数据库时,使用java.util.Date类型对应数据库的date类型,此时数据库可以保存和读取到时分秒;
java.sql.Date 和java.util.Date 类型的数据都可以直接保存到数据库或者与数据库中date类型的数据直接比较大小,但从数
据库读取的日期数据要用java.util.Date 进行保存,因为java.sql.Date 是java.util.Date 的子类