1. 程式人生 > >mysql中的date、datetime、timestamp型別與java date之間的轉換問題

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用法一致。