【问题标题】:how to convert ISO date comming from web api to date formatted as dd-mm-yyyy如何将来自 web api 的 ISO 日期转换为格式为 dd-mm-yyyy 的日期
【发布时间】:2020-08-29 11:58:04
【问题描述】:
<script 
$(document).ready(function () {

            $.ajax({
                url: "https://localhost:44390/api/Contract_Alg",
                method: "GET",
                dataType: "json",
                success: function (data) {
                    $("#contract").DataTable({
                        data: data,
                        columns: [
                            { 'data': 'ContractID' },
                            { 'data': 'Code_ID' },
                            {
                                'data': 'ContractStartDate'
                            },
                            { 'data': 'ContractEndtDate' },
                            { 'data': 'Contract_Verfication' },
                            { 'data': 'First_Contract' },
                            { 'data': 'ALgerian_Info' }
                        ],
                      

                    });
                }
            })
        });

你好, 我有用于从 web api asp.net 呈现数据的数据表代码 一切都很好,直到我将日期格式化为“2019-12-16T00:00:00” iso日期,请帮我把它转换成dd-mm-yyyy 这是我的代码:

感谢您的帮助

【问题讨论】:

    标签: javascript jquery ajax asp.net-mvc datatable


    【解决方案1】:

    你可以使用moment.js库进行时间相关的操作

    在您的应用程序中安装 moment.js 或为其添加脚本标签

    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js"></script>
    

    然后使用它将 ISO 日期转换为您喜欢的任何 format

    moment( yourIsoDateString ).format('DDD-M-YYYY');
    

    由于您使用的是数据表,因此您需要在将data 变量传递给数据表之前对其进行处理。

    假设你的数据是

    const formattedData = data.map( item => ({ 
    
        ...item,
        ContractStartDate: moment( item.ContractStartDate ).format('DDD-M-YYYY')
    
     })
    
    

    然后将formattedData 传递给数据表

    将这些更改应用于您的代码将导致

    success: function (data) {
    
                   const formattedData = data.map( item => ({ 
    
                    ...item,
                     ContractStartDate: moment( item.ContractStartDate ).format('DDD-M-YYYY'),
                     ContractEndtDate: moment( item.ContractEndtDate ).format('DDD-M-YYYY'),
    
                     });
    
    
                        $("#contract").DataTable({
                            data: formattedData,
                            columns: [
                                { 'data': 'ContractID' },
                                { 'data': 'Code_ID' },
                                {
                                    'data': 'ContractStartDate'
                                },
                                { 'data': 'ContractEndtDate' },
                                { 'data': 'Contract_Verfication' },
                                { 'data': 'First_Contract' },
                                { 'data': 'ALgerian_Info' }
                            ],
                          
    
                        });
                    }
    

    【讨论】:

    • 感谢您的回答能否告诉我如何修复这部分代码:{ 'data': 'ContractStartDate', 'render': function () { // 函数将 iso 日期转换为 dd -mm-yyyy } },我要渲染函数转换
    • 我尝试在答案的新更新中解释这一点,希望对您有所帮助
    猜你喜欢
    • 2014-09-29
    • 2018-03-25
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多