當在angularjs去顯示一個時間時,如原原本本去顯示這個值,它將顯示一個怪怪的字元串,其實它就是被系列化json之後的字元串。如:一個空值顯示為日期時間:如果非空值顯示為日期時間的情形: 為了能正常顯示,我得需要先將這json的字元串,進行返系列化,創建angularjs的過濾器filter: ...
當在angularjs去顯示一個時間時,如原原本本去顯示這個值,它將顯示一個怪怪的字元串,其實它就是被系列化json之後的字元串。如:
一個空值顯示為日期時間:
如果非空值顯示為日期時間的情形:
為了能正常顯示,我得需要先將這json的字元串,進行返系列化,創建angularjs的過濾器filter:
app.filter("dateFilter", function () { var re = /\/Date\(([0-9]*)\)\//; return function (x) { var m = x.match(re); if (m) return new Date(parseInt(m[1])); else return null; }; });Source Code
在html中應用這個過濾器:
{{info.PublicDate | dateFilter }}
顯示的結果,當空值顯示為空。當有值時,將顯示為一個時間的值了:
上面雖然顯示為一個日期時間,但時間的格式並不是我們想要的,如:"yyyy-MM-dd HH:mm:ss"
因此,完整的代碼:
{{info.PublicDate | dateFilter | date:"yyyy-MM-dd HH:mm:ss"}}