簡體   English   中英

如何在PHP中以毫秒為單位獲取當前時間?

[英]How to get current time in ms in PHP?

我想要得到的是非常像time() ,但應該以毫秒為單位准確:

2010-11-15 21:21:00:987

這在 PHP 中可能嗎?

function udate($format, $utimestamp = null) {
  if (is_null($utimestamp))
    $utimestamp = microtime(true);

  $timestamp = floor($utimestamp);
  $milliseconds = round(($utimestamp - $timestamp) * 1000000);

  return date(preg_replace('`(?<!\\\\)u`', $milliseconds, $format), $timestamp);
}

echo udate('Y-m-d H:i:s:u'); // 2010-11-15 21:21:00:987

使用microtime中,並將其轉換為毫秒:

$millitime = round(microtime(true) * 1000);

使用microtime()函數。

請參閱此處的手冊頁: http : //php.net/manual/en/function.microtime.php

[編輯] 要按要求以年/月/日/小時/分鍾/秒/毫秒為單位獲取輸出:

嘗試這樣的事情:

list($usec, $sec) = explode(" ", microtime());
$output = date('Y/m/d H:i:s',$sec). " /" . $usec;

同樣,請參閱手冊頁以獲取有關microtime()工作原理的更多詳細信息。

這是我的方式

list($usec, $sec) = explode(" ", microtime());
$time =  date("Y-m-d H:i:s:",$sec).intval(round($usec*1000));
echo $time;

看看php的microtime函數

從 PHP 7.3 hrtime開始可用。

這意味着您可以在納秒內使用高分辨率計時器,而不會出現任何微時間問題。 (例如系統時鍾在測試之間變化)

因此,您現在可以通過以下方式在 64 位平台上可靠地獲得 ms:

intval( hrtime(true) / 1000000 ); //Convert nanosecond to ms

格式如先前答案中所述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM