Java java.util.Date 与 java.sql.Date

问:java.sql.Date 和 java.util.Date 有什么区别?

答:这两个类的区别是 java.sql.Date 是针对 SQL 语句使用的,它只包含日期而没有时间部分,一般在读写数据库时用。java.util.Date 是在除了 SQL 语句外的所有情况下使用的,一般是日常日期字段。java.util.Date 是 java.sql.Date 的父类。唯一的相同点就是都有 getTime 方法返回毫秒数。代码解释所示:

public class DateShow {
    public static void main(String[] args) {
        java.util.Date nowUtil = new java.util.Date();
        java.sql.Date nowSql = new java.sql.Date(System.currentTimeMillis());

        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(format.format(nowUtil));
        System.out.println(format.format(nowSql));
        System.out.println(nowUtil);
        System.out.println(nowSql);
    }
}
 运行结果如下:
 2018-06-08 17:33:06
 2018-06-08 17:33:06
 Fri Jun 08 17:33:06 CST 2018
 2018-06-08

之所以直接打印 Date 对象表现的值不一样就是上面解释的部分,是指是调用了各自 Date 的 toString() 方法,两个 Date 对象分别有自己的 toString() 重写实现,感兴趣的可以打开源码对比一下就明白了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,930评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,246评论 0 11
  • 本来没想写这些文字,因为很多事情已经见怪不怪了,但是,刚才在一个群里看到一个初学写作的小伙伴把自己的一段文字发在群...
    壹句话阅读 3,211评论 0 0
  • 用项目制学习的方式展开对埭美古厝的探索,我完整地感受过一次,也实践过一次。深刻地体受到团队氛围对整个学习过程影...
    一粒玉米阅读 3,443评论 0 0
  • 最近,又有一群新的大学生从象牙塔毕业,进入社会大熔炉。不知不觉,我离开校园也已经一年了。 但我此时的心境,却已经和...
    非鱼穿搭阅读 3,294评论 0 1