在我的Sql Server中,我有一个具有date
数据类型的列,这里是一个示例2017-09-28
。我用它作为显示格式创建了一个模型:
[Display(Name = "Enroll Date")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime CreationDate { get; set; }
和我的角度控制器中的控制器:
var app = angular.module("MyApp", []);
app.controller("PdfController", function($scope, $http) {
$scope.message = "";
$scope.records = null;
$http({
method: 'GET',
url: '/Pdf/GetData'
}).then(function(result) {
$scope.records = result.data;
},
function(error) {
$scope.message = "Error in retrieving data @error: " + error;
});
})
然后在我看来,我像这样使用了ng-repeat:
<tr ng-repeat="record in records">
<td>{{record.Id}}</td>
<td>{{record.RfidNumber}}</td>
<td>{{record.RfidTag}}</td>
<td>{{record.AccountName}}</td>
<td>{{record.CreationDate | date:'dd/MM/yyyy'}}</td>
<td>{{record.EncodedBy}}</td>
</tr>
为什么在我的表格中我得到了这个值/Date(1506528000000)/
而我无法将其格式化为dd/MM/yyyy
?我尝试将我的模型设置为public string CreationDate { get; set; }
。它给了我日期,但12:00 AM
,我不需要时间。你能帮帮忙吗?谢谢。
答案 0 :(得分:1)
在回复中,您将日期视为json格式。您可以创建自定义过滤器以将json日期格式转换为日期。
.filter("filterdate", 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;
};
});
在html中添加过滤器
<td>{{record.CreationDate | filterdate | date:'dd/MM/yyyy'}}</td>