import java.text.ParseException;
import java.text.SimpleDateFormat;import java.util.Date;
/**
* java.util.Date
* 1、就是在除了SQL语句的情况下面使用;是 java.sql.Date 的父类;
* 2、是常用的表示时间的类,我们通常格式化或者得到当前时间都是用它。
*
* java.sql.Date
* 1、是针对SQL语句使用的,它只包含日期而没有时间部分;
* 2、读写数据库的时候用它,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date。
*
*/
public class TestUtilAndSqlDate {
public static void main(String[] args) {
//java.util.date java.sql.date 之间的转换
Date date = new Date();
System.out.println("java.util.date***"+date.toString());
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
System.out.println("java.sql.date***"+sqlDate.toString());
Date date2 = new Date(sqlDate.getTime());
System.out.println("java.util.date***"+date2);
//String java.util.date 之间的转换
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatUtilDate = sdf1.format(date);
System.out.println("formatUtilDate***"+formatUtilDate);
try {
Date parseUtilDate = sdf1.parse(formatUtilDate);
System.out.println("parseUtilDate***"+parseUtilDate);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
String formatUtilDate2 = sdf2.format(date);
System.out.println("formatUtilDate2***"+formatUtilDate2);
try {
Date parseUtilDate2 = sdf2.parse(formatUtilDate2);
System.out.println("parseUtilDate2***"+parseUtilDate2);
} catch (ParseException e) {
e.printStackTrace();
}
//String java.sql.Date 之间的转换
//String 转 sql.date 可以用valueOf方法;sql.date转String需要用到 util.Date的getTime()方法
String formatSqlDate = "2013-05-09";
java.sql.Date valueOf = java.sql.Date.valueOf(formatSqlDate);
System.out.println("valueOf***"+valueOf);
// String formatSqlDate2 = "20130509";//String 格式错误 应为 yyyy-MM-dd
// java.sql.Date valueOf2 = java.sql.Date.valueOf(formatSqlDate2);
// System.out.println("valueOf2***"+valueOf2);
java.sql.Date newSqlDate = new java.sql.Date(new Date().getTime());
System.out.println("sqlDateToString***"+newSqlDate.toString());
}
}