如何更改JavaScript代码/函数中输出的日期格式?

时间:2019-05-11 21:43:22

标签: javascript laravel datetime-format

我有JavaScript函数,可以从数据库中提取数据并提供日期输出。输出脚本的这一部分: `数据:{     columnsDef:['letter_number',                      'letter_date',                      'job_desc'],                 },         }

    columns: [

        { data: 'letter_number', name: 'letter_number' },
        { data: 'letter_date', name: 'letter_date' },
        { data: 'job_desc', name: 'job_desc' },
    ],`

letter_date 的输出为 2019-04-29 ,我打算将格式更改为 29-04-2019 ,已经在脚本顶部尝试了一些javascript dateformat函数,但是页面空白,页面上未显示任何输出。我正在使用laravel,并在laravel代码标签中将Carbon库用于其他日期格式,所以没有问题。

我很困惑如何更改Javascript输出代码中的格式,如上面的{ data: 'letter_date', name: 'letter_date'}所示。

任何解决方案,我将非常感谢。谢谢。

4 个答案:

答案 0 :(得分:0)

如果格式一致,则可以在每个破折号处分割并以所需的格式重新加入它们:

const date = '2019-04-29'

const dateArr = date.split('-')
const newDate = `${dateArr[2]}-${dateArr[1]}-${dateArr[0]}`
console.log(newDate)

答案 1 :(得分:0)

使用moment设置日期格式

  

这是最可靠的显示选项。它需要一串令牌   并将其替换为相应的值。

moment(new Date()).format();                                // "2014-09-08T08:02:17-05:00" (ISO 8601, no fractional seconds)
moment(new Date()).format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm"

根据您的情况:

moment(new Date()).format('DD-MM-YYY');

答案 2 :(得分:0)

我认为您使用DataTable插件在网格中显示数据。您可以在createdRow中更改值。

...
columns: [
    { data: 'letter_number', name: 'letter_number' },
    { data: 'letter_date', name: 'letter_date' },
    { data: 'job_desc', name: 'job_desc' },
],
createdRow: function(nRow, aData, iDataIndex){
    const d= aData.letter_date.split('-');
    $('td:eq(1)',nRow).html(d[2]+'-'+d[1]+'-'+d[0]);
}
...

答案 3 :(得分:0)

我有这个解决方案,首先我在laravel中使用了datatables插件。使用Yazra数据表,并使用Carbon库转换日期格式。我在github帖子上找到了这个解决方案。该链接:DateTime Format Yazra Datatables and Carbon Plugin in laravel

这很好用,实际上,在Yalar数据表上使用的laravel上的Controller和Javascript上的Column之间确实存在连接。希望这对任何人都有帮助。

非常感谢您提供以上所有解决方案...谢谢。