You need to enable JavaScript to run this app. 如何将AJAX回调内JavaScript模板字面量的日期转为d-m-Y格式
优惠活动
大模型
产品
解决方案
定价
更多

如何将AJAX回调内JavaScript模板字面量的日期转为d-m-Y格式

方案1:后端格式化返回(优先推荐)

你的后端使用的是Laravel框架,默认返回的日期字段是Carbon对象序列化后的标准格式,直接在后端处理日期格式可以避免前端时区兼容性问题,也无需修改现有前端模板逻辑:
在对应search路由的控制器方法中,对返回的数据集的date字段做格式化处理即可:

// 示例:假设你查询得到的是$records集合
return $records->map(function ($item) {
    $item->date = $item->date->format('d-m-Y');
    return $item;
});

处理完成后前端拿到的value.date已经是目标格式,直接使用即可。

方案2:前端格式化处理

如果不方便修改后端代码,可以直接在前端模板字面量中插入日期格式化逻辑,模板字面量的${}语法支持任意合法JS表达式,不会受回调位置影响:
将原模板中对应日期的代码:

<td> ${value.date} </td>

替换为以下代码即可:

<td> ${(d => `${String(d.getDate()).padStart(2, '0')}-${String(d.getMonth() + 1).padStart(2, '0')}-${d.getFullYear()}`)(new Date(value.date))} </td>

如果需要适配跨时区场景,也可以使用内置的toLocaleDateString方法指定格式:

<td> ${new Date(value.date).toLocaleDateString('zh-CN', { day: '2-digit', month: '2-digit', year: 'numeric' }).replaceAll('/', '-')} </td>

内容的提问来源于stack exchange,提问作者FranVillada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 21:18:04