搗鼓了一下mysql,做如下筆記
mysql版本:5.1.50
一,日期時間型別
datetime 8bytes ***x-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59:59
timestamp 4bytes ***x-xx-xx xx:xx:xx 1970-01-01 00:00:01到2038
date 3bytes ***x-xx-xx 1000-01-01到9999-12-31
year 1bytes ***x 1901到2155
time 3bytes xx:xx:xx -838:59:59到838:59:59(為了滿足時間的加減運算)
二,特性
timestamp在預設情況下,insert和update資料時,timestamp列自動回去當前時間填充
mysql只支援到秒
三,函式
注:current_date[()]表示後面的括號可以有也可以沒有
獲取當前日期或時間
sysdate() ***x-xx-xx xx:xx:xx
current_timestamp[()]=now() ***x-xx-xx xx:xx:xx
current_date[()]=curdate() ***x-xx-xx xx:xx:xx
current_time[()]=curtime() xx:xx:xx
unix_timestamp() 12******xx
時間日期運算
sysdate()+interval 1 day(hour) ***x-xx-xx xx:xx:xx
current_date+interval 1 day ***x-xx-xx
current_date+interval 1 hour ***x-xx-xx xx:xx:xx
current_time+interval 1 day(hour) null
current_timestamp+interval 1 day(hour) ***x-xx-xx xx:xx:xx
timediff(a,b)
返回a-b的時間值,適用於datetime/timestamp/time型別,並且a和b型別要一樣
datediff(a,b)類似
set @dt='2010-09-28 23:05:14'
select minute(@dt) 14..
select dayofweek(@dt) 返回在一周之中位於第幾天(1代表週日)..
select dayname(@dt) 返回英文的週幾(friday)..
select date_add(@dt,interval -1 day)
select date_add(@dt,interval '01:15:31' hour_second)
select date_add(@dt,interval '01 01:15:31' day_second)
select date_sub(……類似
select str_to_date('08.09.2008 08:09:30', '%m.%d.%y %h:%i:%s'); -- 2008-08-09 08:09:30
select date_format('2008-08-08 22:23:00', '%w %m %y');--friday august 2008
unix時間戳
select unix_timestamp(); -- 1218290027
select unix_timestamp('2008-08-08'); -- 1218124800
select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800
select from_unixtime(1218169800); -- '2008-08-08 12:30:00'
select from_unixtime(1218169800, '%y %d %m %h:%i:%s %x'); -- '2008 8th august 12:30:00 2008'
四,時間輸出標記
'2010-09-08 13:14:15'
%w-%w wednesday-3
%y-%y 2010-10
%m-%m september-09
%d-%d 8th-08
%h-%h 13-01
%i-%i 12-13(特別注意,%i=%h)
%s-%s 15-15
五,補充
utc時間+8小時=本地時間,涉及多國領域時再考慮utc時間(cur_timestamp())
MySql日期時間
mysql獲取當前日期及日期格式 獲取系統日期 now 格式化日期 date format date,format 注 date 時間字段 string format 日期格式 string create table datetest03 id int auto increment not null...
MySQL 日期時間
now 函式以 yyyy mm dd hh mm ss 返回當前的日期時間,可以直接存到datetime欄位中。curdate 以 yyyy mm dd 的格式返回今天的日期,可以直接存到date欄位中。curtime 以 hh mm ss 的格式返回當前的時間,可以直接存到time欄位中。取得當前...
MySql 日期時間
mysql 日期時間 1 查詢條件 2 常用函式 有 datetime 型別字段 publish time 1 查詢條件 庫中儲存 2004 02 04 格式 where date publish time 2004 02 04 庫中儲存 08 08 08 格式 where date publish...