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

问题描述

for x in res:

你好, 我有用于从Web api asp.net呈现数据的数据表代码 一切都很好,直到我获得格式为``2019-12-16T00:00:00''的日期 iso date,请帮助我将其转换为dd-mm-yyyy 这是我的代码

感谢您的帮助

解决方法

您可以使用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' }
                        ],});
                }