java日期格式转换_acelin_h-编程思维

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包下给出三个与数据库相关的日期时间类型,分别是:

  1. Date:表示日期,只有年月日,没有时分秒。会丢失时间;
  2. Time:表示时间,只有时分秒,没有年月日。会丢失日期;
  3. Timestamp:表示时间戳,有年月日时分秒,以及毫秒。

util包和sql包Date的转换:https://www.cnblogs.com/fengmingyue/p/6048225.html

java的date和数据库date类型

Oracle数据库以date类型保存日期时,Java中用哪个类对应数据库的date类型?


  1. 使用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类型插入到数据库。


  1. 使用Hibernate操作Oracle数据库时,使用java.util.Date类型对应数据库的date类型,此时数据库可以保存和读取到时分秒;

  java.sql.Date 和java.util.Date 类型的数据都可以直接保存到数据库或者与数据库中date类型的数据直接比较大小,但从数

  据库读取的日期数据要用java.util.Date 进行保存,因为java.sql.Date 是java.util.Date 的子类

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/acelin/p/14981763.html