mysql中的date、datetime、timestamp型別與java date之間的轉換問題
阿新 • • 發佈:2018-11-26
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用法一致。