简介
日期时间组件用于在表格列中展示完整的日期和时间信息,是日期组件的扩展版本。
用法示例
基础用法
use plugin\xbCode\builder\Builder;
// 创建表格
Builder::crud(function($builder) {
// 添加日期时间列
$builder->addColumnDateTime('created_at', '创建时间');
});
自定义配置
Builder::crud(function($builder) {
// 使用回调函数自定义配置
$builder->addColumnDateTime('login_time', '登录时间', function($component) {
$component->displayFormat('YYYY-MM-DD HH:mm:ss');
$component->valueFormat('X'); // 时间戳格式
});
// 相对时间显示
$builder->addColumnDateTime('last_active', '最后活跃', function($component) {
$component->fromNow(true); // 显示为"3分钟前"、"2小时前"等
$component->updateFrequency(60); // 60秒更新一次
});
// 使用数组方式配置
$builder->addColumnDateTime('datetime', '时间', [
'displayFormat' => 'YYYY年MM月DD日 HH时mm分',
'className' => 'text-primary'
]);
});
组件参数
| 参数名 | 类型 | 默认值 | 说明 |
|---|
| name | string | 必填 | 字段名称,对应数据库字段 |
| label | string | 必填 | 列标题,显示在表格头部 |
| option | callable|array | [] | 配置选项,可以是回调函数或数组 |
日期时间组件属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|
| type | string | datetime | 类型,自动设置为 'datetime' |
| placeholder | string | - | 占位符 |
| valueFormat | string | - | 数据格式,默认为时间戳 |
| updateFrequency | string | - | 更新频率,默认为1分钟 |
| className | string | - | 外层 CSS 类名 |
| displayFormat | string | - | 展示格式(如:YYYY-MM-DD HH:mm:ss) |
| fromNow | bool | false | 是否显示相对时间描述(如:11小时前、3天前) |
| displayTimeZone | string | - | 设置日期展示时区 |
使用场景
- 精确的创建时间展示
- 操作日志时间记录
- 登录时间显示
- 订单生成时间
- 审核时间记录
注意事项
- 组件会自动设置 type 为 'datetime'
- 默认展示完整的日期和时间信息
- 当 fromNow 为 true 时,displayFormat 不生效
- 相对时间描述会根据 updateFrequency 自动刷新
- 建议使用时间戳格式存储数据,便于跨时区处理