util.Date与sql.Date的异同以及相互转换
Java中有两个Date类
- 一个是java.util.Date通常情况下用它获取当前时间或构造时间
- 另一个是java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分
- 两个类型的时间可以相互转化
- 这三个类都是java.utl.Date的子类

util.Date转sql.Date
Date utilDate = new Date();//util.Date
System.out.println("utilDate : " + utilDate);
//util.Date转sql.Date
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("sqlDate : " + sqlDate);

从运行结果看到util.date转成sql.date之后,只有年月日,没有时分秒。
java.sql包下给出三个与数据库相关的日期时间类型:
Date:表示日期,只有年月日,没有时分秒。会丢失时间;
Time:表示时间,只有时分秒,没有年月日。会丢失日期;
Timestamp:表示时间戳,有年月日时分秒,以及毫秒。
util.Date转sql.Timestamp
Date utilDate = new Date();//util utilDate
System.out.println("utilDate : " + utilDate);
Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt date转sql date
System.out.println("sqlDate : " + sqlDate);

sql.Date转util.Date
System.out.println("*********util.Date转sql.Date*********");
Date utilDate = new Date();//util.Date
System.out.println("utilDate : " + utilDate);
Timestamp sqlDate = new Timestamp(utilDate.getTime());//util.Date转sql.Date
System.out.println("sqlDate : " + sqlDate);
System.out.println("*********sql.Date转util.Date*********");
System.out.println("sqlDate : " + sqlDate);
Date date = new Date(sqlDate.getTime());//sql.Date转util.Date
/*
java.util.Date date = new java.util.Date(sqlDate.getTime());
*/
System.out.println("utilDate : " + date);

同时util.Date和sql.Date都可以用SimpleDateFormat格式化
Date utilDate = new Date();//uilt.Date
System.out.println("utilDate : " + utilDate); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("format : " + format.format(utilDate)); System.out.println("**********************************************"); Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt.Date转sql.Date
System.out.println("sqlDate : " + sqlDate);
System.out.println("format : " + format.format(sqlDate));

util.Date与sql.Date的异同以及相互转换的更多相关文章
- util date 转 sql date
JAVA 处理时间 - java.sql.Date.java.util.Date与数据库中的Date字段的转换方法,以及util包下的Date类与字符串的相互转换在java环境中使用的Date时间类通 ...
- java util.Date和sql.Date转换(时区转换)
public static Timestamp zoneTtime(String time) throws Exception{ time= "2018-08-01T10:01:21.905 ...
- util.Date与sql.Date转换
一. 时间类型 1. sql包下, Date:只有年月日. Time:只有时分秒. Timestamp:表示时间戳,有年月日时分秒,以及毫秒. 2. util包下, Date是sql包下三种时间类 ...
- java util.Date 转换为sql.Date
public static java.sql.Timestamp StrTransSqlDate(String date) { SimpleDateFormat simpleDateFormat = ...
- java.util.Date与java.sql.Date的关系和转换方法(转)
在ResultSet中我们经常使用的setDate或getDate的数据类型是java.sql.Date,而在平时java程序中我们一般习惯使用 java.util.Date. 因此在DAO层我们经常 ...
- 如何将util.Date转化为sql.Date
通过查看API可以很容易知道,util.Date类时sql.Date的父类,所以根据向上转型的原理可以很简单的知道时可行的,不用做转换都可以. 但是如果想要将util.Date转化为sql.Date, ...
- sql.date and util.Date
注意: 1.用 bean 接受 数据库查询的结果 sql.date 会自动转换为 util.date 2.想数据库插入date 类型,必须是要 sql.date 一.字符串 转 util.date S ...
- java.util.Date与java.sql.Date
我数据库里用到了日期类型.用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型 Date dt; 会报错,查了一下才发现有java.util.D ...
- java.util.Date和java.sql.Date的区别和相互转化
java.util.Date是在除了SQL语句的情况下面使用的.java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它 们都有getTime方法返回毫秒数,自然就可以直接构建. ...
随机推荐
- Cisco二层交换机命令
1.二层交换机基本配置 Switch >Switch >enable # 进入特权模式 Switch#configure terminal # 进入全局配置模式 Switch(co ...
- JSP+Servlet+C3P0+Mysql实现的网上蛋糕店
本文存在视频版本,请知悉 项目简介 项目来源于:https://gitee.com/PositiveMumu/CakesShop/tree/master 这次分享一个蛋糕商场系统,还是很简单的系统.界 ...
- drf的频率认证
频率认证源码分析 APIView --->dispatch方法--->self.initial(request, *args, **kwargs)---> self.check_th ...
- JDBC(四)----数据库连接池
## 数据库连接池 * 概念:其实就是一个容器(集合) * 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后会将连接对象归还给容 ...
- 升级 nop 4.1 Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement.
Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement. nop.web 项目 ...
- Python第十一章-常用的核心模块03-json模块
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...
- 在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度
在这篇文章中,我将介绍如何使用ASP.NET Core托管服务运行Quartz.NET作业.这样的好处是我们可以在应用程序启动和停止时很方便的来控制我们的Job的运行状态.接下来我将演示如何创建一个简 ...
- CoderForces 327D Block Tower
Portal:http://codeforces.com/problemset/problem/327/D 一座红塔200人,一座蓝塔100人,只有与蓝塔相邻才可以建红塔. '.'处可建塔 '#'处不 ...
- P1006 传纸条(二维、三维dp)
P1006 传纸条 输入输出样例 输入 #1 复制 3 3 0 3 9 2 8 5 5 7 0 输出 #1 复制 34 说明/提示 [限制] 对于 30% 的数据,1≤m,n≤10: 对于 100% ...
- mysql清空表后id重1开始
通过"truncate table 表名"方式重置清空id,让id从1开始自动递增,