PHP - получить миллисекунду из метки времени

Я хочу получить текущую метку времени с миллисекундами. но date() возвращает Timestamp только с секундами.


person Majid Sadr    schedule 25.05.2016    source источник
comment
время()   -  person Bonatti    schedule 25.05.2016
comment
@Bonatti Этот вопрос касается миллисекунды, но вы продублировали мой вопрос вопросом о дате/времени (всего секунду)   -  person Majid Sadr    schedule 25.05.2016
comment
Прочитайте ответы, особенно о функциях time(). Этот вопрос не показывает усилий Google, какие функции времени существуют в PHP, поэтому я просто отметил ту, у которой есть проблема.   -  person Bonatti    schedule 25.05.2016


Ответы (2)


Вы можете использовать microtime (это лучшее решение, поскольку вы получите точное значение).

person Gytis TG    schedule 25.05.2016
comment
Не делить на . Это должно быть умножено - person Web Artisan; 25.05.2016
comment
И в любом случае умножение не сработает, потому что нельзя добавить точности к числу. microtime() - правильное решение. - person Chris; 25.05.2016
comment
Ой, да, умножайте, а не делите. Прости за это. - person Gytis TG; 25.05.2016
comment
У меня есть несколько записей в моей базе данных с отметкой времени, но вопрос в том, как получить с помощью миллисекунд. или сохранить отметку времени с миллисекундами. - person Majid Sadr; 25.05.2016
comment
Это ужасное предложение. У вас по-прежнему будут только секунды, представленные тысячами миллисекунд. - person apriede; 25.05.2016
comment
@MajidSadr Итак, чтобы было ясно, под отметкой времени вы не имеете в виду отметку времени Unix? - person Chris; 25.05.2016
comment
@Chris, я имею в виду временную метку Unix - person Majid Sadr; 25.05.2016
comment
@MajidSadr, так почему именно microtime() не подходит? Возвращает время в микросекундах? - person Gytis TG; 25.05.2016
comment
EdvinTenovim Ваше последнее редактирование решило мою проблему. Но спасибо @Chris - person Majid Sadr; 25.05.2016
comment
@MajidSadr Однако его правки никогда не меняли семантику ответа. В оригинале сказано также использовать microtime(). В любом случае, я рад, что вы решили это. Вы должны быть в состоянии принять ответ, если он сработал для вас. - person Chris; 25.05.2016
comment
Я переместил первую часть вверх, потому что она более уместна, чем вторая (умножение). - person Gytis TG; 25.05.2016
comment
@EdvinTenovim, я бы посоветовал вам просто удалить вторую часть, потому что она просто умопомрачительно плохая и неправильная. Это все равно, что предложить использовать зум MS Paint вместо электронного микроскопа. - person apriede; 25.05.2016
comment
@apriede, да, я согласен с этим. Я должен удалить эту часть. - person Gytis TG; 25.05.2016

Вы можете попробовать приведенный ниже код из источника.

$now = DateTime::createFromFormat('U.u', microtime(true));
echo $now->format("m-d-Y H:i:s.u");
person Ankit Doshi    schedule 25.05.2016
comment
Несколько раз он возвращает отрицательные результаты: 05-25-2016 11:31:25.-339967296 - person Majid Sadr; 25.05.2016
comment
Обсуждался ли когда-нибудь вопрос об отрицательной ценности? - person Evil Elf; 27.02.2019