mysql中的date、datetime、timestamp类型与java date之间的转换问题

java中Date和String之间的转换

/**
*程序1
*将date转换成String
*得到像 2018-11-26 这种格式的日期字符串
*/
public static String gainDate(Date date){
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    String dateStr=sdf.format(date);
    return dateStr;
}


/**
*程序2
*将date转换成String
*得到像 2018-11-26 11:04:34 这种格式的时间字符串
*/
public static String gainTime(Date date){
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String dateStr=sdf.format(date);
    return dateStr;
}


/**
*程序3
*获取系统当前日期,返回Date类型
*返回格式是这样的:Mon Nov 26 00:00:00 CST 2018
*/
public static Date getSystemDate(){
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date=new Date();
    return simpleDateFormat.parse(simpleDateFormat.format(date));
}


/**
*程序4
*获取系统当前时间,返回Date类型
*返回格式是这样的:Mon Nov 26 11:14:26 CST 2018
*/
public static Date getSystemTime(){
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date=new Date();
    return simpleDateFormat.parse(simpleDateFormat.format(date));
}

 

mysql中date、datetime、timestamp类型的说明


- date:在mysql中,该类型是java.sql.Date类型的,用java操作数据库时可以用java.util.Date类型的字段插入。比如说我要插入“2018-11-26”这种格式的日期到mysql中,就可以用上述程序3的方法获取该格式的date进行插入。注意,mysql中date类型只能存“2018-11-26”这种格式的,像“2018-11-26 11:29:33”这种格式的日期是不能存的,mysql会把后面的时间舍掉,只保留日期。从数据库获取日期时用程序1将date类型转换为String类型即可得到该格式的日期字符串。

- datetime:该类型的字段可以存“2018-11-26 11:32:34”这种格式的日期,用上述程序4得到的date类型插入数据库即可。获取时用程序2将date类型的日期转换为String类型即可。注:如果不将date转换为String的话,得到的是一窜时间戳序列,如:1162614180

- timestamp:时间戳,关于datetime和timestamp的区别,放一个链接:MYSQL-datatime和timestamp的区别,该用法和上面的datetime用法一致。

你可能感兴趣的:(第一个web项目学到的知识点)