Как преобразовать удобную для человека дату в миллисекунды с момента unix?
Преобразование даты, удобной для людей, в миллисекунды
Ответ 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
.