tp5时间戳功能的自定义实现。
项目中需要显示某一天内所有数据的时间,但因为已经规定了是某一天,所以TP5框架自带的时间戳格式
date("Y-m-d H:i:s")
这种时间戳格式就显得鸡肋了,我们要实现
date("H:i:s")
这样就可以了。
那么这个格式在哪里修改呢?我们先看一下配置文件,config.php
我们发现默认的配置文件中没有这个选项,那我们看一下model类的源码
在Model.php
中有一个属性我很在意
// 时间字段取出后的默认时间格式
protected $dateFormat;
// 字段类型或者格式转换
protected $type = [];
这个应该就是我们要找的属性,在类中查找dateFormat
字段,找到代码
if (is_null($this->dateFormat)) {
// 设置时间戳格式
$this->dateFormat = $this->getQuery()->getConfig("datetime_format");
}
从这里可以看到,当时间戳为null时,时间戳的格式是从配置文件中的datetime_format属性来获取的,因为只有这个接口需要实现"H:i:s"
时间格式,所以我们在对应的model类中定义
protected $dateFormat = "H:i:s";
查看输出
commit:"无"
create_time:"11:20:21"
id:"195"
成功了。
但是,需要注意的是如果在类中直接定义会造成类所有 格式都是"H:i:s"
,所以更好的办法是在方法中通过
$this->dateFormat = "H:i:s";
这种方式给类赋值,就可以避免出错。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: thinkphp关于模板日期的写法
- 下一篇: [完]PHP 格式化显示时间 date() 函数