mysql時間戳怎么賦值 mysql 時間戳相減

如何處理mysql中的時間戳讀取問題

1. MySQL 獲得當(dāng)前時間戳函數(shù):current_timestamp, current_timestamp()

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了荔浦免費建站歡迎大家使用!

mysql select current_timestamp, current_timestamp();

+---------------------+---------------------+

| current_timestamp | current_timestamp() |

+---------------------+---------------------+

| 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |

+---------------------+---------------------+

2. MySQL (Unix 時間戳、日期)轉(zhuǎn)換函數(shù):

unix_timestamp(),

unix_timestamp(date),

from_unixtime(unix_timestamp),

from_unixtime(unix_timestamp,format)

下面是示例:

select unix_timestamp(); -- 1218290027

select unix_timestamp('2008-08-08'); -- 1218124800

select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800

select from_unixtime(1218290027); -- '2008-08-09 21:53:47'

select from_unixtime(1218124800); -- '2008-08-08 00:00:00'

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'

3. MySQL 時間戳(timestamp)轉(zhuǎn)換、增、減函數(shù):

timestamp(date) -- date to timestamp

timestamp(dt,time) -- dt + time

timestampadd(unit,interval,datetime_expr) --

timestampdiff(unit,datetime_expr1,datetime_expr2) --

請看示例部分:

select timestamp('2008-08-08'); -- 2008-08-08 00:00:00

select timestamp('2008-08-08 08:00:00', '01:01:01'); -- 2008-08-08 09:01:01

select timestamp('2008-08-08 08:00:00', '10 01:01:01'); -- 2008-08-18 09:01:01

select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00

select date_add('2008-08-08 08:00:00', interval 1 day); -- 2008-08-09 08:00:00

MySQL timestampadd() 函數(shù)類似于 date_add()。

select timestampdiff(year,'2002-05-01','2001-01-01'); -- -1

select timestampdiff(day ,'2002-05-01','2001-01-01'); -- -485

select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); -- -12

select datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); -- 7

MySQL timestampdiff() 函數(shù)就比 datediff() 功能強(qiáng)多了,datediff() 只能計算兩個日期(date)之間相差的天數(shù)。

mysql 數(shù)據(jù)庫timestamp值怎么定義

MySQL數(shù)據(jù)庫TIMESTAMP設(shè)置默認(rèn)值的靈活運用,本次我們接著上次的內(nèi)容介紹幾個MySQL數(shù)據(jù)庫TIMESTAMP設(shè)置默認(rèn)值的幾個應(yīng)用實例,希望能夠?qū)δ兴鶐椭?/p>

#1查看表定義,可以看到b列有個屬性O(shè)N UPDATE CURRENT_TIMESTAMP,導(dǎo)致更新數(shù)據(jù)時,即便未涉及到該列,該列數(shù)據(jù)也被自動更新。另一方面,c列默認(rèn)值是'0000-00-00 00:00:00',實際插入已經(jīng)被自動賦值為current_timestamp。

mysql獲取當(dāng)前系統(tǒng)日期和時間

可以了解一下MySQL的時間戳(Timestamp)數(shù)據(jù)類型:

默認(rèn)時間戳(Timestamp)類型的取值范圍為'1970-01-01 00:00:01' UTC至'2038-01-19 03:14:07' UTC,數(shù)據(jù)精確到秒級別,該取值范圍包含約22億個數(shù)值,因此在MySQL內(nèi)部使用4個字節(jié)INT類型來存放時間戳數(shù)據(jù):

1、在存儲時間戳數(shù)據(jù)時,先將本地時區(qū)時間轉(zhuǎn)換為UTC時區(qū)時間,再將UTC時區(qū)時間轉(zhuǎn)換為INT格式的毫秒值(使用UNIX_TIMESTAMP函數(shù)),然后存放到數(shù)據(jù)庫中。

2、在讀取時間戳數(shù)據(jù)時,先將INT格式的毫秒值轉(zhuǎn)換為UTC時區(qū)時間(使用FROM_UNIXTIME函數(shù)),然后再轉(zhuǎn)換為本地時區(qū)時間,最后返回給客戶端。

(Timestamp)時間戳列可以有四張組合定義,其含義分別為:

1、當(dāng)字段定義為timestamp,表示該字段在插入和更新時都不會自動設(shè)置為當(dāng)前時間。

2、當(dāng)字段定義為timestamp DEFAULT CURRENT_TIMESTAMP,表示該字段僅在插入且未指定值時被賦予當(dāng)前時間,再更新時且未指定值時不做修改。

3、當(dāng)字段定義為timestamp ON UPDATE CURRENT_TIMESTAMP,表示該字段在插入且未指定值時被賦值為"0000-00-00 00:00:00",在更新且未指定值時更新為當(dāng)前時間。

4、當(dāng)字段定義為timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,表示該字段在插入或更新時未指定值,則被賦值為當(dāng)前時間。

網(wǎng)頁名稱:mysql時間戳怎么賦值 mysql 時間戳相減
標(biāo)題來源:http://www.muchs.cn/article36/doejosg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、App設(shè)計、、定制網(wǎng)站網(wǎng)站建設(shè)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司