见代码:
package pers.liuyl.datedemo.testone;
/**
* @Description: 关于java中六个时间类的使用和区别
* @date 2017年8月15日
*/
public class DateDemoTestMain {
/**
* @Title: main
* @Description:
* @param args
* @return void
*/
public static void main(String[] args) {
DateDemoTestMain main = new DateDemoTestMain();
main.play();
}// End_main()
/*
* 关于java中六个时间类的使用和区别
*
* java.util.Date日期格式为:年月日时分秒
* java.sql.Date日期格式为:年月日
* java.sql.Time日期格式为:时分秒
* java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)
*
* java.util.Date 是java.sql.Date Time Timestamp的父类
* 从数据库中取出来的日期一般都用getTimestamp()方法,例如oracle中一个字段数据类型Date,要想获得准确日期就用getTimestamp()方法。
*
* java.util.Calendar类(日历类)Calendar类是一个抽象基类,主要用于日期之间的各种计算获取Calendar实例的方法:使用Calendar.getInstance()方法或调用它子类GregorianCalendar的构造器。
*
* java.text.SimpleDateFormat:其他五种均可以被格式化同种样式的时间
*/
/**
* @Title: play
* @Description:
* @return void
*/
public void play() {
// 1.java.util.Date 就是在除了SQL语句的情况下面使用
System.out.println("1.java.util.Date 就是在除了SQL语句的情况下面使用");
java.util.Date uDate = new java.util.Date();
System.out.println(" new java.util.Date() = " + uDate);
// 2.java.sql.Date 是针对SQL语句使用的,new java.sql.Date(new java.util.Date().getTime(),它只包含日期而没有时间部分
System.out.println("2.java.sql.Date 是针对SQL语句使用的,new java.sql.Date(new java.util.Date().getTime(),它只包含日期而没有时间部分");
java.sql.Date sDate0 = new java.sql.Date(0);
System.out.println(" new java.sql.Date(0) = " + sDate0);
java.sql.Date sDate1 = new java.sql.Date(new java.util.Date().getTime());
System.out.println(" new java.sql.Date(now) = " + sDate1);
// 3.它们都有getTime方法返回毫秒数
System.out.println("3.它们都有getTime方法返回毫秒数");
System.out.println(" uDate.getTime() = " + uDate.getTime());
System.out.println(" sDate0.getTime() = " + sDate0.getTime());
System.out.println(" sDate1.getTime() = " + sDate1.getTime());
// 4.互相转换
System.out.println("4.互相转换");
System.out.println(" " + new java.sql.Date(new java.util.Date().getTime()));
System.out.println(" " + new java.util.Date(new java.sql.Date(0).getTime()));
// 5.java.sql.Timestamp的使用
System.out.println("5.java.sql.Timestamp的使用");
java.sql.Timestamp sTimestamp = new java.sql.Timestamp(uDate.getTime());
System.out.println(" " + sTimestamp);
// 5.java.sql.Time的使用
System.out.println("6.java.sql.Time的使用");
java.sql.Time sTime = new java.sql.Time(uDate.getTime());
System.out.println(" " + sTime);
// 7.java.util.Calendar
System.out.println("7.java.util.Calendar");
java.util.Calendar calendar = java.util.Calendar.getInstance();
System.out.println(" " + calendar);
// 8.所有时间日期都可以被SimpleDateFormat格式化format()
System.out.println("8.所有时间日期都可以被SimpleDateFormat格式化format()");
java.text.SimpleDateFormat f = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
java.sql.Time sqlTime = new java.sql.Time(utilDate.getTime());
java.sql.Timestamp stp = new java.sql.Timestamp(utilDate.getTime());
java.util.Calendar cld = java.util.Calendar.getInstance();
System.out.println(f.format(utilDate));
System.out.println(f.format(sqlDate));
System.out.println(f.format(sqlTime));
System.out.println(f.format(stp));
System.out.println(f.format(cld.getTime()));
}
}