You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core+SQL场景下,如何用JavaScript仅显示DateTime的日期部分

前端表格仅显示日期部分的解决方案

方法1:直接截取ISO日期字符串

ASP.NET Core返回的datetime类型数据通常是ISO格式(如2024-05-20T14:30:00),可以通过字符串分割直接提取日期部分:

修改你的LoadTable函数中日期字段的处理逻辑:

function LoadTable(Data) {
    var html = '';
    for (var i = 0; i < Data.length; i++) {
        html += '<tr>'; // 补充缺失的<tr>标签
        html += '<td>' + Data[i].Id + '</td>';
        html += '<td>' + Data[i].PersonName + '</td>';
        // 提取BirthDate的日期部分
        html += '<td>' + Data[i].BirthDate.split('T')[0] + '</td>';
        // 提取IssueDate的日期部分
        html += '<td>' + Data[i].IssueDate.split('T')[0] + '</td>';
        html += '</tr>';
    }
    $('#tbl_Data tbody').html(html);
}

方法2:使用JavaScript Date对象格式化

如果需要更灵活的日期显示格式(比如适配本地语言),可以用Date对象结合toLocaleDateString方法:

function LoadTable(Data) {
    var html = '';
    for (var i = 0; i < Data.length; i++) {
        html += '<tr>';
        html += '<td>' + Data[i].Id + '</td>';
        html += '<td>' + Data[i].PersonName + '</td>';
        // 格式化成本地日期格式(如中文环境显示"2024/5/20")
        html += '<td>' + new Date(Data[i].BirthDate).toLocaleDateString() + '</td>';
        html += '<td>' + new Date(Data[i].IssueDate).toLocaleDateString() + '</td>';
        html += '</tr>';
    }
    $('#tbl_Data tbody').html(html);
}

如果需要固定格式(比如yyyy-MM-dd),可以用Intl.DateTimeFormat自定义:

const dateFormatter = new Intl.DateTimeFormat('zh-CN', {
    year: 'numeric',
    month: '2-digit',
    day: '2-digit'
});

function LoadTable(Data) {
    var html = '';
    for (var i = 0; i < Data.length; i++) {
        html += '<tr>';
        html += '<td>' + Data[i].Id + '</td>';
        html += '<td>' + Data[i].PersonName + '</td>';
        html += '<td>' + dateFormatter.format(new Date(Data[i].BirthDate)) + '</td>';
        html += '<td>' + dateFormatter.format(new Date(Data[i].IssueDate)) + '</td>';
        html += '</tr>';
    }
    $('#tbl_Data tbody').html(html);
}

方法3:后端统一处理(ASP.NET Core)

如果希望前端无需处理,可在后端直接将datetime字段格式化为日期字符串返回:

  1. 在模型属性上添加格式化逻辑:
public class YourModel
{
    public int Id { get; set; }
    public string PersonName { get; set; }
    
    public DateTime BirthDate { get; set; }
    // 格式化为yyyy-MM-dd后返回给前端
    public string FormattedBirthDate => BirthDate.ToString("yyyy-MM-dd");
    
    public DateTime IssueDate { get; set; }
    public string FormattedIssueDate => IssueDate.ToString("yyyy-MM-dd");
}
  1. 或者在API接口中直接映射格式化:
return Ok(yourDataList.Select(item => new {
    item.Id,
    item.PersonName,
    BirthDate = item.BirthDate.ToString("yyyy-MM-dd"),
    IssueDate = item.IssueDate.ToString("yyyy-MM-dd")
}));

这种方式前端可以直接使用Data[i].BirthDate,无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:15:54