나는 각도 js를 사용하고 오늘부터 5 일 이내에 주문한 경우 '최근'이라는 텍스트를 표시하려고합니다. 따라서 todaysDate와 Order.dateCreated <= 5 사이의 일 차이가 있으면 '최근'을 표시하고 싶지 않으면 비어 있습니다.
orderid | dateCreated | status
1 | 27-2-2014 | recent
2 | 27-1-2014 |
각도 스크립트 조각 :
<table>
<tr data-ng-repeat="order in orders" >
<td>{{order.id}}</td>
<td>{{order.dateCreated}}</td>
<td><span ng-show="(getDate()-order.dateCreated)<=5">recent</span></td>
</tr>
</table>
표준 JavaScript에서이 작업을 수행하고 주문이 사용할 수 있도록 범위에 메서드를 노출하면됩니다.
그러나 날짜가 현재 질문에있는 것처럼 영국 형식으로 저장되어있는 경우 이와 비슷합니다. 이와 같이 구문 분석 할 수 없습니다. 서버 측 코드가 JavaScript가 구문 분석 할 수있는 표준 형식을 뱉어내는 것을 고려하십시오.
그렇게하는 데 문제가 있거나 해당 형식에서 서버 측 응답을 변경할 수 없거나 형식을 유지하려는 경우 다음과 같은 라이브러리를 사용하여 구문 분석 할 수 있습니다. http://momentjs.com/docs/ # / parsing / string-format / 이것은 또한 차이를 확인하는 몇 가지 괜찮은 도구를 가지고 있습니다 : http://momentjs.com/docs/#/displaying/difference/
$scope.isRecentOrder = function(date) {
// Assuming date is a string of parsable format: ie. "2014-01-27T01:00:00+00:00"
var diff = new Date() - new Date(date);
// Calculate from milliseconds
var days = ((((diff / 1000) / 60) / 60) / 24);
return days >= 5;
}
그런 다음 지시문을 사용할 수 있습니다. ng-show="isRecentOrder(order.dateCreated)"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다