我从API返回日期,返回日期如下:2012-10-12 00:00:00
我将它打印到我的页面上:
<span class="year" ng-bind-html="hit._highlightResult.original_release_date.value"></span>
original_release_date.value
为该日期(2012-10-12 00:00:00)。有谁知道回归这一年的快捷方式?
感谢任何帮助。提前谢谢!
答案 0 :(得分:3)
您可以使用angularjs中的date api
<span class="year"> {{ hit._highlightResult.original_release_date.value | date:"yyyy" }} </span>
hit._highlightResult.original_release_date.value
应该是(根据文档)
格式化为Date对象,毫秒(字符串或数字)或各种ISO 8601日期时间字符串格式的日期(例如yyyy-MM-ddTHH:mm:ss.sssZ及其较短版本,如yyyy-MM-ddTHH:mmZ, yyyy-MM-dd或yyyyMMddTHHmmssZ)。如果字符串输入中未指定时区,则认为时间在本地时区。
所以创建javascript date
对象并将其格式化为仅显示年份
步骤1 - 创建一个过滤器以从字符串中获取日期对象(2012-10-12 00:00:00)
app.filter('dateToISO', function() {
return function(input) {
var dateTime = input.split(" ");
var date = dateTime[0];
var datePartials = date.split("-");
var time = dateTime[1];
var timePartials = time.split(":");
var formattedDate = new Date();
formattedDate.setFullYear(datePartials[0]);
formattedDate.setMonth(datePartials[1]-1);
formattedDate.setDate(datePartials[2]);
formattedDate.setHours(timePartials[0]);
formattedDate.setMinutes(timePartials[1]);
return formattedDate;
};
});
第2步 - 创建控制器功能以获取date object
$scope.getDate = function() {
return $filter('dateToISO')('2012-10-12 00:00:00');
};
第3步 - 调用该函数并获取要在HTML格式化的日期对象
<span class="year"> {{ getDate() | date:"yyyy" }} </span>
这是工作Demo Plunker
答案 1 :(得分:0)
这可能有点过失和作弊,但我认为&#39; 2012-10-12 00:00:00&#39; .split(&#39; - &#39;)[0]会做特技