我有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'}
所示。
任何解决方案,我将非常感谢。谢谢。
答案 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之间确实存在连接。希望这对任何人都有帮助。
非常感谢您提供以上所有解决方案...谢谢。