CodeIgniter:格式化mysql DATETIME字段dd / mm / yy hh:mm

时间:2011-01-07 22:19:04

标签: php datetime codeigniter date-format

非常喜欢它在锡上所说的内容。

我有一个datetime mysql字段,我希望以dd / mm / yyyy hh:mm格式输出,如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 个答案:

答案 0 :(得分:14)

尝试:

echo date ("d/m/Y h:ia",strtotime($row->created));

答案 1 :(得分:1)

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()函数一样。

答案 2 :(得分:0)

使用treeface的解决方案,使用一个小的改动:

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

让我摸不着头几个小时,但是现在它起作用了,我能够继续使用CI助手来完成所有日期功能。

HTH

答案 3 :(得分:-1)

我正在使用:

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

这应该有效。