在Javascript呈现的HTML中格式化JSON日期
我无法将JSON中的日期从在Javascript呈现的HTML中格式化JSON日期,javascript,date,Javascript,Date,我无法将JSON中的日期从2017-03-22 00:00:00-0400格式格式化为MM/DD/YYYY格式 var formatResults = function(data) { return "<tr>" + "<td data-title=\"amount\" class=\"amount\">" + data['amount'] + "<span class=\"result\">result</s
2017-03-22 00:00:00-0400
格式格式化为MM/DD/YYYY
格式
var formatResults = function(data) {
return "<tr>" +
"<td data-title=\"amount\" class=\"amount\">" + data['amount'] + "<span class=\"result\">result</span></td>" +
"<td data-title=\"case\">" + data['case'] + "</td>" +
"<td data-title=\"title\">Title of Case</td>" +
"<td data-title=\"user\" class=\"numeric\">" + data['person'] + "</td>" +
"<td data-title=\"location\" class=\"numeric\">" + data['office'] + "</td>" +
"<td data-title=\"date\" class=\"numeric\">" + data['date'] +
"</td>" +
"</tr>";
};
var formatResults=函数(数据){
返回“”+
“+数据['amount']+”结果”+
“”+数据['case']+“”+
“案件名称”+
“”+数据['person']+“”+
“”+数据['office']+“”+
“”+数据[“日期”]+
"" +
"";
};
如何将直接从JSON传递的日期转换为上述必要的格式?非常适合这种情况。您可能需要为较旧的浏览器传输ES 6,但现在需要:
var formatResults = function(data) {
let [[year, mon, day]] = date.split(' ').map(s => s.split('-'));
let date = `${mon}/${day}/${year}`;
return "<tr>" +
"<td data-title=\"amount\" class=\"amount\">" + data['amount'] + "<span class=\"result\">result</span></td>" +
"<td data-title=\"case\">" + data['case'] + "</td>" +
"<td data-title=\"title\">Title of Case</td>" +
"<td data-title=\"user\" class=\"numeric\">" + data['person'] + "</td>" +
"<td data-title=\"location\" class=\"numeric\">" + data['office'] + "</td>" +
"<td data-title=\"date\" class=\"numeric\">" + date +
"</td>" +
"</tr>";
};
var formatResults=函数(数据){
让[[year,mon,day]]=date.split('').map(s=>s.split('-');
让date=`${mon}/${day}/${year}`;
返回“”+
“+数据['amount']+”结果”+
“”+数据['case']+“”+
“案件名称”+
“”+数据['person']+“”+
“”+数据['office']+“”+
“+日期+
"" +
"";
};
只要格式可以由
var日期=新日期('2017-03-22 00:00:00-0400');
var formattedDate=(date.getMonth()+1)+'/'+date.getDate()+'/'+date.getFullYear();
console.log(格式化日期)代码>let[[year,mon,day]]=date.split('').map(s=>s.split('-')代码>可能重复的@JaredSmith-你能提供一个在我的代码中使用你的解决方案的例子吗?你应该在这里使用“矩”。可以这样称呼它:moment('2017-03-22 00:00:00-0400','YYYY-MM-DD HH:MM:ss-HH:MM')。格式('MM/DD/YYYY')代码>不想使用其他资源格式化一个日期。应该能够只使用内置的JS来做到这一点。足够公平了。您可以尝试这样做:var date=new date('2017-03-22 00:00:00-0400');警报((date.getMonth()+1)+'/'+date.getDate()+'/'+date.getFullYear())
Date.parse
依赖于实现,但ISO 8601格式的日期字符串除外,这不是。是的,它应该使用Date.prototype.getDate
而不是Date.prototype.getDay
如何将月份更改为单词(即一月)而不是1等等?为此,您可能必须使用第三方库,如矩或类似的东西: