CodeIgniter: формат поля ДАТЫ и времени mysql дд/мм/гг чч:мм
Привет в значительной степени тому, что написано на жестянке.
У меня есть поле mysql даты и времени, которое я хочу вывести в формате дд/мм/гггг чч:мм, например 07/01/2011 22:16.
Я пробовал:
<?php
$datestring = '%d/%m/%Y %h:%i';
echo mdate($datestring,$row->created);
?>
Но я получаю сообщение об ошибке:
Message: A non well formed numeric value encountered
Любая помощь очень признательна!
Приветствия,
Билли
4 answers
Попробуйте:
echo date ("d/m/Y h:ia",strtotime($row->created));
Вторым параметром функции mdate()
по-прежнему должна быть целочисленная временная метка, как и в собственной функции PHP date()
. Попробуйте использовать функцию strtodate()
, которая принимает строку в качестве параметра (включая формат даты MySQL) и возвращает целое число. Это можно сделать следующим образом:
$datestring = '%d/%m/%Y %h:%i';
echo mdate($datestring, strtodate($row->created));
Единственное различие между mdate()
и date()
заключается в том, что, как говорится в документах CodeIgniter:
Эта функция идентична функции PHPs date(), за исключением того, что она позволяет использовать стиль MySQL коды дат, где каждой кодовой букве предшествует знак процента: %Y%m%d и т.д.
Преимущество использования дат таким способом заключается в том, что вам не нужно беспокоиться об экранировании любых символов, которые не являются кодами даты, как это обычно делается с функцией date().
Заставил это работать, используя решение treeface, с одним незначительным изменением:
$datestring = '%d/%m/%Y %h:%i';
echo mdate($datestring, strtoDATE($row->created));
//strtoDATE didn't work but strtoTIME did
Я часами чесал голову, но теперь это работает, я могу продолжать использовать помощник CI для всех функций даты.
НТХ
Я использую:
mdate(date_string,mysql_to_unix($row->created))
Это должно сработать.