java.util.Date与java.sql.Date的区别
- 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();
原文地址:https://www.cnblogs.com/SCP1927/p/9297412.html
时间: 2024-11-05 11:55:20