php如何獲取當前毫秒時間戳

2020-09-29 15:00:24

php獲取當前毫秒時間戳的方法:使用【microtime()】函數獲取,程式碼為【list($msec, $sec) = explode(' ', microtime());】。

php獲取當前毫秒時間戳的方法:

提供了一個microtime()函數,如果呼叫時不帶可選引數,本函數以 "msec sec" 的格式返回一個字串,其中 sec 是自 Unix 紀元(0:00:00 January 1, 1970 GMT)起到現在的秒數,msec 是微秒部分。字串的兩部分都是以秒為單位返回的。

microtime()函數的詳細說明

<?php
echo microtime();
//輸出結果是
//0.25139300 1138197510

注意了,它的結果是分兩部分的,也就是前半部分是毫秒(但是單位是秒),後半部分是秒。

現在,我們依據這個做下修改,如下:

<?php
list($msec, $sec) = explode(' ', microtime());
$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);

這樣就可以了,$msectime就是當前的毫秒數!可以將這兩行封裝成一個函數方便使用。

<?php
//返回當前的毫秒時間戳
function msectime() {
  list($msec, $sec) = explode(' ', microtime());
  $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
  return $msectime;
}

注意:sprintf('%.0f', $num) 是輸出不含小數部分的浮點數

事情還沒有結束,我把時間戳改成毫秒級別後,再次更新資料庫資料時,卻提示超出範圍,原來之前我在資料庫中是用int型來儲存time()函數獲取的秒級別的時間戳,儲存範圍是夠的,改成毫秒級別的,就得改成BIGINT型別了。

整數型別 位元組 範圍(有符號) 範圍(無符號) 用途

TINYINT 1位元組 (-128,127) (0,255) 小整數值

SMALLINT 2位元組 (-32 768,32 767) (0,65 535) 大整數值

MEDIUMINT 3位元組 (-8 388 608,8 388 607) (0,16 777 215) 大整數值

INT或INTEGER 4位元組 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整數值

BIGINT 8位元組 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 極大整數值

想了解更多程式設計學習,敬請關注欄目!

以上就是php如何獲取當前毫秒時間戳的詳細內容,更多請關注TW511.COM其它相關文章!