您好,登錄后才能下訂單哦!
小編給大家分享一下php獲取當(dāng)前毫秒時間戳的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php獲取當(dāng)前毫秒時間戳的方法:使用【microtime()】函數(shù)獲取,代碼為【list($msec, $sec) = explode(' ', microtime());】。
php獲取當(dāng)前毫秒時間戳的方法:
提供了一個microtime()函數(shù),如果調(diào)用時不帶可選參數(shù),本函數(shù)以 "msec sec" 的格式返回一個字符串,其中 sec 是自 Unix 紀(jì)元(0:00:00 January 1, 1970 GMT)起到現(xiàn)在的秒數(shù),msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。
microtime()函數(shù)的詳細說明
<?php echo microtime(); //輸出結(jié)果是 //0.25139300 1138197510
注意了,它的結(jié)果是分兩部分的,也就是前半部分是毫秒(但是單位是秒),后半部分是秒。
現(xiàn)在,我們依據(jù)這個做下修改,如下:
<?php list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
這樣就可以了,$msectime就是當(dāng)前的毫秒數(shù)!可以將這兩行封裝成一個函數(shù)方便使用。
<?php //返回當(dāng)前的毫秒時間戳 function msectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); return $msectime; }
注意:sprintf('%.0f', $num) 是輸出不含小數(shù)部分的浮點數(shù)
事情還沒有結(jié)束,我把時間戳改成毫秒級別后,再次更新數(shù)據(jù)庫數(shù)據(jù)時,卻提示超出范圍,原來之前我在數(shù)據(jù)庫中是用int型來存儲time()函數(shù)獲取的秒級別的時間戳,存儲范圍是夠的,改成毫秒級別的,就得改成BIGINT類型了。
整數(shù)類型 字節(jié) 范圍(有符號) 范圍(無符號) 用途
TINYINT 1字節(jié) (-128,127) (0,255) 小整數(shù)值
SMALLINT 2字節(jié) (-32 768,32 767) (0,65 535) 大整數(shù)值
MEDIUMINT 3字節(jié) (-8 388 608,8 388 607) (0,16 777 215) 大整數(shù)值
INT或INTEGER 4字節(jié) (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整數(shù)值
BIGINT 8字節(jié) (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 極大整數(shù)值
以上是php獲取當(dāng)前毫秒時間戳的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。