java.sql.Date java.util.Date String 的相互转换

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 TransformDatet{
    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());
        
    }
}


你可能感兴趣的:(JAVA)