1. 程式人生 > >DATETIME與TIMESTAMP

DATETIME與TIMESTAMP

DATETIME與TIMESTAMP都能表達一個完整的日期格式:YYYY-MM-DD HH:MM:SS[.fraction]

eg:

mysql> create table test(id int,hiredate timestamp);
Query OK, 0 rows affected (0.01 sec)

mysql> insert into test values(1,'20151208000000');
Query OK, 1 row affected (0.00 sec)

mysql> create table test1(id int,hiredate datetime);
Query OK, 
0 rows affected (0.01 sec) mysql> insert into test1 values(1,'20151208000000'); Query OK, 1 row affected (0.00 sec) mysql> select * from test; +------+---------------------+ | id | hiredate | +------+---------------------+ | 1 | 2015-12-08 00:00:00 | +------+---------------------+ row in set (0.01 sec) mysql
> select * from test1; +------+---------------------+ | id | hiredate | +------+---------------------+ | 1 | 2015-12-08 00:00:00 | +------+---------------------+ row in set (0.00 sec)
View Code

注意傳入的時候是YYYYMMDDHHMMSS的格式,查詢時都是YYYY-MM-DD HH:MM:SS的格式

 

區別:

1. 儲存方式

TIMESTAMP把客戶端插入的時間從當前時區轉化為UTC(世界標準時間)進行儲存

。當查詢時,又將其又轉化為客戶端當前時區進行返回。

而對於DATETIME,不做任何改變,基本上是原樣輸入和輸出。

 

2. 兩者所能儲存的時間範圍不一樣

timestamp所能儲存的時間範圍為:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。

datetime所能儲存的時間範圍為:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。

 

3. 對於跨時區的業務,TIMESTAMP更為合適。

 

一般情況下用timestamp足矣,更靈活,時間範圍也夠。