2017-03-23 80 views
0

我無法從2017-03-22 00:00:00 -0400格式格式化從JSON的日期MM/DD/YYYY格式。格式化JSON日期在Javascript中呈現的HTML

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>"; 
}; 

如何將直接從JSON傳遞的日期轉換爲上述必要的格式?

+0

'讓[年,星期一,天] = date.split( ' ').MAP(S => s.split(' - '));' –

+0

的可能的複製[如何格式JavaScript日期](http://stackoverflow.com/questions/3552461/how-to-format-a-javascript-date) – dgiugg

+0

@JaredSmith - 你能提供一個在我的代碼中使用你的解決方案的例子嗎? – Matt

回答

-1

您可以通過使用new Date(dateString)只要格式可以被解析Date.parse()

var date = new Date('2017-03-22 00:00:00 -0400'); 
 
var formattedDate = (date.getMonth()+1)+'/'+date.getDate()+'/'+date.getFullYear(); 
 

 
console.log(formattedDate);

+1

Date.parse'是依賴於實現的,除了ISO 8601格式化日期字符串,這不是。 –

+0

這工作,謝謝! – Matt

+0

是的,它應該用'Date.prototype.getDate',而不是'Date.prototype.getDay' –

-1

Moment.js非常適合這種事情。

+0

不想使用其他資源格式化一個日期。應該可以只使用內置的JS來做到這一點。 – Matt

+1

夠公平的。你可以試試這個: 'var date = new Date('2017-03-22 00:00:00 -0400'); 警報((date.getMonth()+ 1)+ '/' + date.getDate()+ '/' + date.getFullYear());'' – Litzo

0

你可能要transpile的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>"; 
};