Java Web中关于如何将日期保存到mysql数据库

JavaSE中获取本地电脑的时间类型是java.util.date,数据库中的时间类型是java.sql.date。
由于数据类型不统一,无法将时间插入到MYSQL数据库中
解决方法:调用DateUtils的utilToSql方法将本地电脑时间java.util.date
转换成java.sql.date
用户输入的时间类型一般是String类型
解决方法:调用DateUtils的strToUtil方法和utilToSql方法将String—>java.util.date—>java.sql.date

当输出数据库中的java.sql.date类型的时间是可以直接用java.util.date接收,因为java.sql.date是java.util.date的子类

import java.text.ParseException;
import java.text.SimpleDateFormat;

/***
 *      日期工具类
 *      字符串转UtilDate
 *      UtilDate转SqlDate
 *      UtilDate转字符串
 *      解决:Dao层的日期数据类型与数据库中的类型不一致,无法存储到数据库
 *      使用说明:如果是Sting类型的日期数据(格式:yyyy-MM-dd)先用方法strToUtil将数据类型转化成Util.Date类型,再用utilToSql方法将数据转换成Sql.Date类型。
 *      
 */
public class DateUtils {
    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//时间格式化
    //1.字符串转化为util.Date
    public static java.util.Date strToUtil(String str){
        java.util.Date date = null;
        try {
            date = sdf.parse(str);
            return date;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
    //2.Util.Date转换为sql.Date
    public static java.sql.Date utilToSql(java.util.Date date){
        return new java.sql.Date(date.getTime());
    }
    //3.Util.Date转化为字符串形式
    public static String utilToStr(java.util.Date date){
        return sdf.format(date);
    }
}

你可能感兴趣的:(工具类)