一:各種Date之間的轉換方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
public
class
TimeTest {
public
static
void
main(String[] args) {
Date date =
new
Date();
// 一、獲取當前系統時間和日期並格式化輸出:
SimpleDateFormat df =
new
SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"
);
//設置日期格式
String dateTime = df.format(date);
// Formats a Date into a date/time string.
System.out.println(dateTime);
// 2017-09-24 23:33:20
// 二、Date轉換為Datetime
long
longTime = date.getTime();
Timestamp timestamp =
new
Timestamp(longTime);
System.out.println(timestamp);
// 2017-09-24 23:33:20.655
// 三、String轉換為Date
String strTime =
"2017-09-24 12:00:01"
;
SimpleDateFormat sdf1 =
new
SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"
);
Date date1 =
null
;
try
{
date1 = sdf1.parse(strTime);
}
catch
(ParseException e) {
e.printStackTrace();
}
System.out.println(date1);
// Sun Sep 24 12:00:01 CST 2017
// 四、Date轉換為String
Date date2 =
new
Date();
DateFormat format =
new
SimpleDateFormat(
"yyyy-MM-dd"
);
String str1 = format.format(date2);
System.out.println(str1);
// 2017-09-24
// 五、String轉化為java.sql.Date
String str2 =
"2017-12-01"
;
SimpleDateFormat sdf2 =
new
SimpleDateFormat(
"yyyy-MM-dd"
);
java.sql.Date sDate =
null
;
try
{
java.util.Date date3 = sdf2.parse(str2);
sDate =
new
java.sql.Date(date3.getTime());
}
catch
(ParseException e) {
e.printStackTrace();
}
System.out.println(sDate);
// 2017-12-01
}
}
|
二:MySQL數據庫中的Date,DateTime,TimeStamp和Time類型
DATETIME類型用在你需要同時包含日期和時間信息的值時。MySQL檢索並且以'YYYY-MM-DD HH:MM:SS'格式顯示DATETIME值,支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着盡管更早的值可能工作,但不能保證他們可以。)
DATE類型用在你僅需要日期值時,沒有時間部分。MySQL檢索並且以'YYYY-MM-DD'格式顯示DATE值,支持的范圍是'1000-01-01'到'9999-12-31'。
TIMESTAMP列類型提供一種類型,你可以使用它自動地用當前的日期和時間標記INSERT或UPDATE的操作。
TIME數據類型表示一天中的時間。MySQL檢索並且以"HH:MM:SS"格式顯示TIME值。支持的范圍是'00:00:00'到'23:59:59'。
創建表(MySql)
datetime和timestamp的區別:
1.datetime 的日期范圍比較大;如果有1970年以前的數據還是要用datetime.但是timestamp 所占存儲空間比較小。
2.timestamp 類型的列還有個特性:默認情況下,在 insert, update 數據時,timestamp 列會自動以當前時間(CURRENT_TIMESTAMP)填充/更新。
3.timestamp比較受時區timezone的影響以及MYSQL版本和服務器的SQL MODE的影響.
使用一個常用的格式集的任何一個,你可以指定DATETIME、DATE和TIMESTAMP值:
'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS'格式的一個字符串,允許一種"寬松"的語法:任何標點可用作在日期部分和時間部分之間的分隔符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等價的。
三:mysql中存入timestamp 類型時間需要java將時間轉為其數據庫對應的數據格式
Date date=new Date();
SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date1=temp.format(date);
Date date2=temp.parse(date1);