码迷,mamicode.com
首页 > 数据库 > 详细

java.util.Date和java.sql.Date以及System.currentTimeMillis()涉及到时间的问题

时间:2018-07-12 01:03:39      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:结果   形参   设置   的区别   说明   unix   EDA   int   测试的   

java.util.Date与java.sql.Date的区别

  1.      util.Date  
1 java.util.Date nowUtil =new java.util.Date();//new了一个util.Date
2 SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMMdd HH:mm:ss");//设置格式
3 String time = sdf.format(nowUtil);

5 System.out.println(nowUtil);//直接输出Date
6 System.out.println(time);//转换格式再输出

输出显示

2018七月11 21:38:01
Wed Jul 11 21:38:01 CST 2018

 

      2.       sql.Date

 

1 java.sql.Date nowSql=new java.sql.Date(System.currentTimeMillis());//通过调用System.currentTimeMillis()获得UNIX时间
2 SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMMdd HH:mm:ss");
3 String time = sdf.format(nowSql);
4 System.out.println(time);
5 System.out.println(nowSql);

 

 

 

输出显示

2018七月11 21:49:12
2018-07-11

1 java.sql.Date nowSql=new java.sql.Date(0);
2 SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMMdd HH:mm:ss");
3 String time = sdf.format(nowSql);
4 System.out.println(time);
5 System.out.println(nowSql);

输出显示

说明:

通过对比可以看出来,util.Date获得的时间就是系统时间,sql.Date的时间是UNIX时间戳,所以用java.sql.Date(System.currentTimeMillis())同样可以获得当前系统时间。不指定格式直接输出util.Date的时间信息更加详细(Wed Jul 11 21:38:01 CST 2018),sql.Date就比较粗只有日期(2018-07-11),但是sql.Date实际上是有存有更详细的时间信息的,如上测试的结果,将sql.Date得得到的时间进行格式设置后再输出,也是有具体到小时分钟的信息。

注意:

java.util.Date()参数可以为空

java.sql.Date()参数不能为空,可以为java.sql.Date(long)/java.sql.Date(int,int,int)。上述例子java.sql.Date(0),取到的是UNIX时间戳1970年1月1日,所以要利用System.currentTimeMills()获取从UNIX时间戳到系统时间这段时间的毫秒数,作为java.sql.Date()的长整形参数。

 

所以,如要获取系统时间可直接用java.util.Date date=new java.util.Date();

java.util.Date和java.sql.Date以及System.currentTimeMillis()涉及到时间的问题

标签:结果   形参   设置   的区别   说明   unix   EDA   int   测试的   

原文地址:https://www.cnblogs.com/SCP1927/p/9297412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!