如何修改Yajra DataTable中AJAX列数据的日期格式?
解决Yajra DataTable日期格式转换问题
直接修改columns中created_at列的配置,通过render函数自定义日期格式:
$(function () { var table = $('.yajra-datatable').DataTable({ processing: true, serverSide: true, ajax: "{{ url('activity-lists') }}", columns: [ { data: 'id', name: 'id' }, { data: 'data', name: 'data' }, { data: 'created_at', name: 'created_at', render: function(data, type, row) { if (!data) return ''; const date = new Date(data); // JS月份从0开始,需+1后补零到两位 const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const year = date.getFullYear(); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); return `${month}/${day}/${year} ${hours}:${minutes}:${seconds}`; } }, ], }); });
关键说明:
render函数负责处理列的显示内容,接收当前列原始值data作为参数- 先判断
data是否为空,避免空值转换报错 - 利用
new Date()将ISO格式字符串转为Date对象,再拆分出年月日时分秒 - 用
padStart(2, '0')确保所有时间单位都是两位数字(比如4月转为04) - 最后拼接成你需要的
MM/DD/YYYY HH:mm:ss格式
内容的提问来源于stack exchange,提问作者Newb
相关产品推荐
相关产品推荐

