반응형
AngularJS. 태그 값 변환 (Unix 시간을 사람이 읽을 수있는 시간으로)
데이터베이스에서 데이터를 가져 와서 표시하고 있습니다.
<ul>
<li ng-repeat="item in items>
<mydate>{{item.date}}</mydate>
</li>
</ul>
{{item.date}}
1374843600과 같은 Unix 날짜는 어디에 있습니까 ? AngularJS 지시문을 사용하여 날짜 형식을 어떻게 설정할 수 있습니까? 가능합니까?
내가 그것을 시도했을 때 태그 mydate의 값을 얻었습니다.{{item.date}}
다음 date filter
과 같은 형식을 사용하십시오 .
<mydate>{{item.date * 1000 | date:'yyyy-MM-dd HH:mm:ss Z'}}</mydate>
epoch 시작부터 초 수 또는 JavaScript에서 사용되는 밀리 초 수로 형식이 지정된 유닉스 시간 문제에 직면했습니다 . 엄밀히 말하면 AngularJS는 Unix 타임 스탬프를 Date로 변환하지 않고 1000 배 더 큰 밀리 초를 가진 숫자이므로 먼저 다음과 같이 입력 숫자에 1000을 곱해야합니다.
<mydate>{{item.date * 1000 | date:'yyyy-MM-dd HH:mm:ss Z'}}</mydate>
그렇지 않으면 날짜가 잘못됩니다.
Unix 타임 스탬프가있는 경우 Unix 타임 스탬프가 초 단위이고 AngularJs 날짜 필터에 밀리 초가 필요하므로 타임 스탬프에 1000을 곱해야 할 것입니다.
vm.milliseconds = Date('1441981121' * 1000);
그런 다음 $ filter () 함수를 사용하십시오.
var date = $filter('date')(vm.milliseconds, 'd MMMM yyyy');
또는 ng-bind에서 사용할 수 있습니다.
<span ng-bind="myController.milliseconds | date : 'd MMMM yyyy'"></span>
angular : 여기에서 이미 제공된 날짜 필터를 사용해야합니다.
yourapp.filter('timestampToDate', function () {
return function (timestamp) {
var date = new Date(timestamp * 1000);
var dateObject = date.getFullYear() +'/'+ ('0' + (date.getMonth() + 1)).slice(-2) +'/'+ ('0' + date.getDate()).slice(-2);
return dateObject;
};
});
용법:
{{timestamp | timestampToDate}}
rsTime이라는 지시문이 있습니다.
<rs-time start-time="1478513323" digital-format="'ddd MMM d h:mm TT'"></rs-time>
Plunker 에서 데모를 확인하십시오 .
다음은 다양한 시간 형식입니다.
M/d/y - 11/7/2016
HH:mm:ss - 16:02:31 (24hrs formate)
hh:mm:ss TT - 04:03:10 PM
ddd MMM d h:mm TT - Mon Nov 7 at 4:04 PM
설명서를 보려면 Github를 방문하십시오.
반응형
'Programing' 카테고리의 다른 글
iTunes Connect 용 iOS 시뮬레이터 스크린 샷 "잘못된 크기" (0) | 2020.12.06 |
---|---|
Django : 모델 객체의 전체 집합을 단일 사전으로 변환 (0) | 2020.12.06 |
짧은 rot13 함수-Python (0) | 2020.12.06 |
사용자 정의 어셈블리 속성 (0) | 2020.12.05 |
node.js 대 sinatra 대 레일을 언제 사용합니까? (0) | 2020.12.05 |