关于java中六个时间类的使用和区别
java.util.Date
java.sql.Date java.sql.Time java.sql.Timestamp
java.text.SimpleDateFormat
java.util.Calendar
java.util.Date日期格式为:年月日时分秒
java.sql.Date日期格式为:年月日
java.sql.Time日期格式为:时分秒
java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)
从数据库中取出来的日期一般都用getTimestamp()方法,例如oracle中一个字段数据类型Date,要想获得准确日期就用getTimestamp()方法。
java.util.Calendar类(日历类)Calendar类是一个抽象基类,主要用于日期之间的各种计算获取Calendar实例的方法:使用Calendar.getInstance()方法或调用它子类GregorianCalendar的构造器。
java.text.SimpleDateFormat:其他五种均可以被格式化同种样式的时间
----------------------------------------------------------------------------
java.util.Date 是java.sqlDate,Time,Timestamp的父类
1.java.util.Date 就是在除了SQL语句的情况下面使用
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106211946049-1636725961.png)
2.java.sql.Date 是针对SQL语句使用的,new java.sql.Date(new java.util.Date().getTime(),它只包含日期而没有时间部分
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106212018580-1677317889.png)
3.它都有getTime方法返回毫秒数
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106212343346-1099401579.png)
---------------------------------------------------------------------------------------------
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106212410330-1987126073.png)
4.互相转换
new java.sql.Date(new java.util.Date().getTime())
new java.util.Date(new java.sql.Date(0).getTime())
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106213252752-260939257.png)
5.java.sql.Timestamp的使用
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106214355893-86598019.png)
6.java.sql.Time
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106214539252-1616096866.png)
7.java.util.Calendar
![](https://images2015.cnblogs.com/blog/966412/201611/966412-20161106221139252-2129062265.png)
8.所有时间日期都可以被SimpleDateFormat格式化format()