Как узнать текущее время в мс в PHP? - PullRequest
2 голосов
/ 15 ноября 2010

То, что я хочу получить, очень похоже на time(), но должно быть точным в мс:

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

Возможно ли это в PHP?

Ответы [ 5 ]

10 голосов
/ 15 ноября 2010
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
9 голосов
/ 15 ноября 2010

Используйте microtime и преобразуйте его в миллисекунды:

$millitime = round(microtime(true) * 1000);
2 голосов
/ 15 ноября 2010

Используйте функцию 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().

1 голос
/ 19 сентября 2014

Это мой путь

list($usec, $sec) = explode(" ", microtime());
$time =  date("Y-m-d H:i:s:",$sec).intval(round($usec*1000));
echo $time;
0 голосов
/ 15 ноября 2010

Посмотрите на функцию php microtime .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...