非常喜欢它在锡上所说的内容。
我有一个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
最值得赞赏的任何帮助!
干杯,
比利
答案 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))
这应该有效。