CodeIgniter 3视图中如何美化格式化用户创建/更新时间?
解决CodeIgniter 3中日期格式化的问题
嘿,既然你已经加载了CodeIgniter的日期助手,那把日期格式化成你想要的美观样式就非常简单啦!这里有两种靠谱的实现方法:
方法1:用CodeIgniter内置的nice_date()函数
CodeIgniter的日期助手提供的nice_date()函数专门用来处理日期格式化,用法直观又省心。你只需要把原来输出日期的代码替换成下面的写法:
<td><?php echo nice_date($user->created_at, 'F j Y, \a\t H:i:s'); ?></td> <td><?php echo nice_date($user->updated_at, 'F j Y, \a\t H:i:s'); ?></td>
这里的格式字符串'F j Y, \a\t H:i:s'完全匹配你要的效果,各部分含义如下:
F:月份的全称(比如March)j:不带前导零的日期数字(比如10)Y:四位的年份(比如2001)\a\t:转义输出"at"(因为a和t是日期格式的特殊字符,加反斜杠才能原样输出)H:24小时制的小时数(比如15)i:带前导零的分钟数(比如16)s:带前导零的秒数(比如03)
方法2:用PHP原生的date() + strtotime()
如果你更习惯原生PHP的写法,也可以用这个组合实现同样的效果:
<td><?php echo date('F j Y, \a\t H:i:s', strtotime($user->created_at)); ?></td> <td><?php echo date('F j Y, \a\t H:i:s', strtotime($user->updated_at)); ?></td>
strtotime()负责把数据库里的日期字符串转成时间戳,再传给date()函数按指定格式输出。
修改后的完整表格代码
把上面的代码替换到你的视图里,最终的表格代码如下(顺便帮你修正了邮箱链接里的maitlo:笔误):
<table class="table table-striped table-bordered"> <thead> <tr> <th class="col-md-1">ID</th> <th class="col-md-3">Full name</th> <th class="col-md-6">Email</th> <th class="col-md-4">Date created</th> <th class="col-md-4">Date updated</th> </tr> </thead> <tbody> <?php foreach ($users as $user): ?> <tr> <td><?php echo $user->id ?></td> <td><?php echo $user->fname . " " . $user->lname; ?></td> <td><a href="mailto:<?php echo $user->email; ?>"><?php echo $user->email; ?></a></td> <!-- 修改后的日期格式化代码 --> <td><?php echo nice_date($user->created_at, 'F j Y, \a\t H:i:s'); ?></td> <td><?php echo nice_date($user->updated_at, 'F j Y, \a\t H:i:s'); ?></td> </tr> <?php endforeach ?> </tbody> </table>
内容的提问来源于stack exchange,提问作者Razvan Zamfir
相关产品推荐
相关产品推荐

