CodeIgniter: формат mysql поле DATETIME дд / мм / гг чч: мм - PullRequest
3 голосов
/ 08 января 2011

Привет, почти все, что написано на банке.

У меня есть поле mysql datetime, которое я хочу вывести в формате дд / мм / гггг чч: мм, как 01.07.2011 22:16.

Я пытался:

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

Но я получаю сообщение об ошибке:

Message: A non well formed numeric value encountered

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

Ура,

Билли

Ответы [ 4 ]

14 голосов
/ 08 января 2011

Попробуйте:

echo date ("d/m/Y h:ia",strtotime($row->created));
1 голос
/ 08 января 2011

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

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

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

Эта функция идентична PHPФункция date (), за исключением того, что она позволяет использовать коды даты в стиле MySQL, где каждой кодовой букве предшествует знак процента:% Y% m% d и т. д.

Преимущество использования дат таким образом заключается в том, чтовам не нужно беспокоиться о экранировании любых символов, которые не являются кодами даты, как вы обычно делаете с функцией date ().

0 голосов
/ 07 февраля 2017

Я использую:

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

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

0 голосов
/ 04 июня 2013

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

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

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

НТН

...