Прежде всего, date () используется для форматирования метки времени - это просто поведение по умолчанию, при котором используется текущая метка времени, когда date()
вызывается без второго параметра. Используемая временная метка будет временной меткой в момент вызова функции - вызов date('Y-m-d')
аналогичен вызову date('Y-m-d', time())
, где time () даст вам
[...] текущее время, измеренное в
количество секунд с начала эпохи Unix
(1 января 1970 г. 00:00:00 по Гринвичу).
Вы получаете одну и ту же метку времени каждый раз, когда вызываете date()
, поскольку ваш сценарий слишком быстрый и выполняется в течение одной секунды, что не приводит к изменению метки времени.
Чтобы решить вашу вторую проблему форматирования возвращаемого значения microtime () , вы можете сделать следующее (не проверено)
function formatTime($microtime, $format)
{
list($timestamp, $fraction) = explode('.', $microtime);
return date($format, (int)$timestamp) . '.' . $fraction;
}
Значение, данное $microtime
, должно быть float
, которое вы получите, передавая true
в качестве параметра microtime()