我正在开发动态网络应用程序。我从java spring控制器获取响应并在html页面中显示结果。
我在网页上有很多字段(如id,spread%,CreatedDate,Opinion,comments ......)。直接在网页上打印值时,日期将在网页上打印为某个数字(1485882060000)。所以我使用new Date(val)
将它转换为javascript文件中的日期对象,如下所示。
MyService.getResults(id).then(
function(response) {
$scope.results = response;
angular.forEach($scope.results,function(value,key){
var startDateRange = new Date(value.startDate);/*Want to print this value in place of {{data.startDate}} in results.html*/
var endDateRange = new Date(value.endDate);/*Want to print this value in place of {{data.endDate}} in results.html*/
});
},
function(errResponse){
console.error('Error in getResults');
});
results.html
<div>
<table>
<tr>
<th style="width:5%;">ID</th>
<th style="width:5%;">Spread%</th>
<th style="width:15%;">StartDate</th>
<th style="width:15%;">EndDate</th>
<th style="width:15%;">Opinion</th>
<th style="width:20%;">comments</th>
</tr>
<tr ng-repeat="data in results
<td >{{data.id}}</td>
<td>{{data.spread}}</td>
<td>{{data.startDate}}</td> /*how to print startDateRange value from javascript file*/
<td>{{data.EndDate}}</td> /*how to print endDateRange value from javascript file*/
<td>{{data.Opinion}}</td>
<td>{{data.Comments}}</td>
</tr>
</table>
</div>
请建议如何动态打印html中的JavaScript变量值。 目前使用上面的代码,我将在html页面中打印日期字段,如下所述。
代替{{data.startDate}}显示的值为:1485882060000。
代替{{data.endDate}}显示的值为:1490298780000
相反,我想在迭代中打印修改后的javascript变量值startDateRange和endDateRange。
答案 0 :(得分:1)
据我所知,您希望将纪元时间戳(自1970年1月1日以来的毫秒数)转换为日期。您可以使用角度的日期过滤器(https://docs.angularjs.org/api/ng/filter/date)将此值转换为特定的日期格式。
<tr ng-repeat="data in results
<td >{{data.id}}</td>
<td>{{data.spread}}</td>
<td>{{data.startDate | date:'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.EndDate | date:'yyyy-MM-dd'}}</td>
<td>{{data.Opinion}}</td>
<td>{{data.Comments}}</td>
</tr>
答案 1 :(得分:0)
如果将日期作为字符串返回,则可以将它们转换为JS代码中的日期。 Javascript无法理解当前格式的日期。