How do I escape characters in an Angular date pipe? How do I escape characters in an Angular date pipe? angular angular

How do I escape characters in an Angular date pipe?


How about this:

{{today | date:'d \'days so far in\' LLLL'}}

Anything inside single quotes is ignored. Just don't forget to escape them.


This works for me {{today | date:"d 'days so far in' LLLL"}}


Then only other alternative to stringing multiple pipes together as suggested by RichMcCluskey would be to create a custom pipe that calls through to momentjs format with the passed in date. Then you could use the same syntax including escape sequence that momentjs supports.

Something like this could work, it is not an exhaustive solution in that it does not deal with localization at all and there is no error handling code or tests.

import { Inject, Pipe, PipeTransform } from '@angular/core';@Pipe({ name: 'momentDate', pure: true })export class MomentDatePipe implements PipeTransform {    transform(value: any, pattern: string): string {        if (!value)            return '';        return moment(value).format(pattern);    }}

And then the calling code:

{{today | momentDate:'d [days so far in] LLLL'}}

For all the format specifiers see the documentation for format.

Keep in mind you do have to import momentjs either as an import statement, have it imported in your cli config file, or reference the library from the root HTML page (like index.html).