2011-01-07 3 views
3

Привет, в значительной степени, что он говорит о жестяном.CodeIgniter: формат mysql DATETIME поле dd/mm/yy hh: mm

У меня есть поле mysql datetime. Я хочу вывести в формате dd/mm/yyyy hh: mm like 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 

Любая помощь наиболее ценится!

Приветствия,

Билли

ответ

1

Второй параметр функции mdate() все еще должна быть целым числом метки времени, так же, как родной функции PHP date(). Попробуйте использовать функцию strtodate(), которая принимает строку как параметр (включая формат даты MySQL) и возвращает целое число. Это можно сделать так:

$datestring = '%d/%m/%Y %h:%i'; 
echo mdate($datestring, strtodate($row->created)); 

Единственное различие между mdate() и date() это, как говорят документы CodeIgniter:

This function is identical to PHPs date() function, except that it lets you use MySQL style date codes, where each code letter is preceded with a percent sign: %Y %m %d etc.

The benefit of doing dates this way is that you don't have to worry about escaping any characters that are not date codes, as you would normally have to do with the date() function.

0

Получил эту работу, используя решение treeface, в с одним небольшим изменением:

$datestring = '%d/%m/%Y %h:%i'; 
echo mdate($datestring, strtoDATE($row->created)); 
    //strtoDATE didn't work but strtoTIME did 

Хотел бы я почесывать голову часами, но теперь это работает, я могу продолжать использовать CI-помощник для всех функций даты.

НТН

-1

Я использую:

mdate(date_string,mysql_to_unix($row->created)) 

Это должно работать.

Смежные вопросы