Преобразование строки времени в PHP
Мне нужно преобразовать строку в формат даты, но это возвращает странную ошибку. Строка такая:
21 nov 2012
Я использовал:
$time = strtotime('d M Y', $string);
PHP вернул ошибку:
Notice: A non well formed numeric value encountered in index.php on line 11
Чего мне здесь не хватает?
4 ответа:
Вы вызываете функцию совершенно неправильно. Просто передайте его
2-й аргумент предназначен для передачи в метке времени, относительно которой Новое время является относительным. По умолчанию используется значение$time = strtotime('21 nov 2012')
time()
.Edit: , который вернет метку времени unix. Если вы хотите затем отформатировать его, передайте новую метку времени функции
date
.
Для преобразования строки даты в другой формат:
<?php echo date('d M Y', strtotime($string));?>
strtotime
синтаксический анализ строки возвращает представленную метку времени UNIX.date
преобразует метку времени UNIX (или текущее системное время, если она не указана) в указанный формат. Таким образом, чтобы переформатировать строку даты, вам нужно передать ее черезstrtotime
, а затем передать возвращенную метку времени UNIX в качестве второго аргумента для функцииdate
. Первый аргумент вdate
- это шаблон для выбранного вами формата. хотеть.Нажмите здесь для получения более подробной информации о параметрах формата даты.