2017-05-08 13 views
3

내가 시간을 표시하는 사용자 정의 파이프를 사용했는데, 지금은 나 또한 밀리 초 단위로 표시 할 수 있도록 변경하려고 :Angular2 + 날짜의 밀리 초를 표시하는 방법은 무엇입니까?

{{log.LogDate|jsonDate|date:'dd.MM.yyyy   HH:mm:ss.sss'}} 

파이프 자체 그러나

if (typeof (value) === 'string') { 
     if (value.includes('/Date(')) 
      return new Date(parseInt(value.substr(6))); 
    } 
    return value; 

을 밀리 초 단위로 가지고있는 초 값 :

log.LogDate : 2017-05-08T15 : 45 : 38.2527293+ 2시

012,351 파이프에서 6,

출력 : 2017년 5월 8일 15 : 45 : 38.38

전체 jsonDate 파이프 (어떤 형식) : 2017-05-08T15 : 45 : 38.2527293 + 02 : 00

내가 자바 스크립트에 새로운 오전 , 그리고 이것이 Javascript 또는 Angular 문제인지 확실하지는 않지만 Angular 내부에서 작업하고 싶습니다. 파이프를 사용하여이 작업을 수행 할 수 있습니까? 아니면이를 수행하는 또 다른/더 좋은 방법이 있습니까?

+0

예제에 데이터를 추가 하시겠습니까? 'log.LogDate' 값과 완전한'jsonDate' 파이프리스트. – borkovski

+0

의견을 주셔서 감사합니다. 문제의 데이터로 질문을 업데이트했습니다. –

답변

1

을 지원하는 각도 5

{{ Datetime | date:'dd.MM.yyyy HH:mm:ss' }}.{{ getMillies(Datetime) }} 

---- 

public getMillies(input: Date): number 
{ 
    return new Date(input).getMilliseconds(); 
} 

:

2

이것은 각도 문제입니다. AngularJS는 밀리 초를 지원하지만 Angular (2+)는 (GH issue)을 지원하지 않습니다. date 파이프를 떨어 뜨리고이 작업을 위해 사용자 지정 파이프 만 사용할 수 있습니다. 귀하의 예제는 그러나 날짜를 잘 처리하지 않는 것 같습니다. 세부 사항으로 들어가기 전에 당신은 당신의 파이프 내부에서 당신을 위해 포맷을하기 위해 외부 라이브러리를 사용할 것을 제안합니다. 그렇지 않으면 작은 보상에 많은 노력이 필요할 것입니다. 선택의 내 개인 무기를 가져온 후 Moment.js 이다 올바르게 단순히 사용합니다 :

moment(value).format('DD.MM.YYYY HH:mm:ss.SSS'); 

이 밖으로 더러운 방법을 원하는 경우 외부 라이브러리를 가져 오지 않고, 당신은 초에 그대로 각도 날짜 파이프 (사용할 수 있습니다 전용) 다음 파이프를 밀리 초 단위로 추가하십시오. 새로운 일 - 파이프 진행 각도 때문에 M

0

다른 가능성 angulars 파이프 머물 자바 메소드를 통해 밀리 추출하는 5 SSS을 사용하면 날짜에 밀리 초를 더할 수 있습니다.



https://angular.io/api/common/DatePipe 그래서 귀하의 예제는 각 5

{{log.LogDate|jsonDate|date:'dd.MM.yyyy   HH:mm:ss.SSS'}} 



변경점과 같을 것이다 참조 :
- [...]
- 분수 초는 이제 형식 S 지원됩니다 ~ SSS.
- [...]

관련 문제