我面临同样的问题,通过使用上面提到的代码问题仍然没有解决。
我的约会对象是JSON
200515
where 20= date
05= month
15= year,
我使用以下代码: -
{{200515 | date : "EEE, MMM dd"}}
但它给了我:
Thu, jan 01
但我想要
Wed, May 20
请帮忙。
答案 0 :(得分:0)
只需使用.substring()
来解析日期字符串并构建新的日期对象。这适用于角度的日期过滤器。
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
var date = '200515',
day = date.substring(0, 2),
month = date.substring(2, 4),
year = date.substring(4, 6),
time = '0513',
hour = time.substring(0, 2),
minute = time.substring(2, 4);
$scope.date = new Date('20' + year, month - 1, day, hour, minute);
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp", ng-controller="MyCtrl">
{{date | date : "hh:mm EEE, MMM dd"}}
</div>
答案 1 :(得分:0)
您必须在使用过滤器之前创建日期对象,因为它只会格式化日期。这里你的日期是空的。
首先,您必须使用基本日期api
创建日期 new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
并在使用过滤器
在代码中使用创建的对象之后答案 2 :(得分:0)
您的日期200015的输入字符串不是有效的ISO 8601日期字符串。您必须提供javascript Date对象或有效的格式字符串,例如'yyyy-MM-ddTHH:mm:ss.sssZ'或'yyyy-MM-ddTHH:mmZ'等。请参阅http://en.wikipedia.org/wiki/ISO_8601