Подтвердить что ты не робот

Преобразование даты, удобной для людей, в миллисекунды

Как преобразовать удобную для человека дату в миллисекунды с момента unix?

4b9b3361

Ответ 1

strtotime($human_readable_date) * 1000

Ответ 2

Обратите внимание: strtotime() * 1000 в порядке, чтобы секунды были выражены в миллисекундах!

Правильный ответ заключается в том, что невозможно получить миллисекундную точность для функций даты и времени в PHP. Точность функций на основе Unix Epoc составляет всего 1k миллисекунд, ака второй:)

Используя предлагаемые ответы, у вас нет миллисекунд, но секунд, выраженных как количество миллисекунд.

Если вы знаете об этом, и вам действительно не нужна миллисекундная точность, тогда ответы даны в порядке, но вопрос был неправильным:)

Ответ 3

Вы ищете strtotime.

Пример использования:

$myvar = strtotime("7 October 2009");

Это дает вам секунды с эпохи Unix, поэтому вы хотите:

$myvar = strtotime("7 October 2009") * 1000;

Следите за тем, что strtotime "догадывается" о том, что вы имеете в виду (как он должен интерпретировать "12-08-2009"? вероятно, как 8 декабря, но он может быть в равной степени справедливым - и быть британцем, основательно разумным - предположим, 12 августа). Если вы знаете формат заранее, используйте strptime.