java.util.Date和java.sql.Date的区别和相互转化 Day18 2018-12-06

1. 共同点

  • 都有getTime方法返回毫秒数,可以直接构建

2. 不同点:

  • 1、java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分,一般在读写数据库的时候用,PreparedStamentsetDate()的参数和ResultSetgetDate()方法的都是java.sql.Date
  • 2、java.util.Date是在除了SQL语句的情况下面使用,一般是日常日期字段。
  • 3、java.util.Datejava.sql.Date 的父类,
    即:继承关系:java.lang.Object ==> java.util.Date ==> java.sql.Date
    具体的转换关系就是java.util.Date d=new java.util.Date (new Java.sql.Date());

3. 相互转化:

  • java.sql.Date转为java.util.Date
java.sql.Date sqlDate=new java.sql.Date();
//方式一:造型
java.util.Date d=new java.util.Date (sqlDate.getTime());
//方式二:上转型,会自动转换:
java.util.Date d=sqlDate;
  • java.util.Date转为 java.sql.Date
//下转型,需要造型,但是由于时间格式不一样,需要以毫秒的形式进行转换:
java.util.Date utilDate=new Date();
//java.sql.Date
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
//java.sql.Time
java.sql.Time sTime=new java.sql.Time(utilDate.getTime());
//java.sql.Timestamp
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());

4.SimpleDateFormat格式化

这里所有时间日期都可以被SimpleDateFormat格式化format()

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
sdf.format(stp);
sdf.format(sTime);
sdf.format(sqlDate);
sdf.format(utilDate)
java.sql.Date sqlDate=java.sql.Date.valueOf("2005-12-12");
utilDate=new java.util.Date(sqlDate.getTime());

5.另类取得年月日的方法:

import java.text.SimpleDateFormat;
import java.util.*;

java.util.Date date = new java.util.Date();
//如果希望得到YYYYMMDD的格式SimpleDateFormat
sy1=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sy1.format(date);

//如果希望分开得到年,月,日SimpleDateFormat
sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");

String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,080评论 2 27
  • 一句话介绍:解决通常情况下需要掌握两种语言才能完成前后台代码编写。 官方介绍 Perfect是一组完整、强大的工具...
    江将蒋酱阅读 2,878评论 2 3
  • 可以在牵手的时候,就表现得特别的认真,想到一辈子就会在一起。啪啪的感觉,对于有些人来说,特别的在意,可是对有些人来...
    十二星座的解说阅读 400评论 0 0
  • 女儿,回想这18年,你襁褓中哇哇啼哭,喃喃学语叫出第一声爸妈,踩着小脚丫跌跌撞撞地第一次走路,背着书包第一次走向学...
    桃李芬芳芳阅读 1,112评论 7 13