简体   繁体   English

如何将来自 web api 的 ISO 日期转换为格式为 dd-mm-yyyy 的日期

[英]how to convert ISO date comming from web api to date formatted as dd-mm-yyyy

<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' }
                        ],
                      

                    });
                }
            })
        });

Hello, i have datatable code for rendering data from web api asp.net everything is ok until i get date formatted like that '2019-12-16T00:00:00' iso date, please help me to convert it to dd-mm-yyyy here is my code:你好,我有数据表代码用于渲染来自 web api asp.net 的数据一切正常,直到我得到日期格式为 '2019-12-16T00:00:00' iso 日期,请帮我在这里将它转换为 dd-mm-yyyy是我的代码:

thanks for your help感谢您的帮助

you can use moment.js library for time related operations你可以使用moment.js库进行时间相关的操作

install moment.js in your application or add the script tag for it在您的应用程序中安装 moment.js 或为其添加脚本标签

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

then use it to convert ISO date to any format you like然后使用它将 ISO 日期转换为您喜欢的任何格式

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

and since you are using data.table you need to process the data variable before its passed to datatable.并且由于您使用的是 data.table,因此您需要在将data变量传递给数据表之前对其进行处理。

assuming you data to be假设你的数据是

const formattedData = data.map( item => ({ 

    ...item,
    ContractStartDate: moment( item.ContractStartDate ).format('DDD-M-YYYY')

 })

then pass the formattedData to the datatable然后将formattedData数据传递给数据表

applying these changes to your code would result in将这些更改应用于您的代码将导致

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' }
                        ],
                      

                    });
                }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM