Search code examples
javascriptangulardatetimepipemilliseconds

Angular2+ How to display milliseconds from date?


I was using a custom pipe for displaying time, and now I tried to change it so that I could also display milliseconds:

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

The pipe itself:

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

However, milliseconds have the value of seconds:

log.LogDate: 2017-05-08T15:45:38.2527293+ 02:00

Output from pipe: 08.05.2017 15:45:38.38

Full jsonDate pipe(no format): 2017-05-08T15:45:38.2527293+02:00

I am new to Javascript, and I am not sure if this is an Javascript or an Angular issue, however, I would like it to work inside Angular. Is it possible to do this using pipes, or is there another/better way to do this?


Solution

  • Since angular 5 you can use SSS to add milliseconds to your date.
    See https://angular.io/api/common/DatePipe


    So your example would look like

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



    Changelog for angular 5:
    - [...]
    - fractional seconds are now supported with the format S to SSS.
    - [...]