I know this may seem annoying, but it's a lot easier than asking Angular to do this for you:
public renderLocaleDateTime(date: Date, dateStyle = 'medium', timeStyle = 'medium'): string {
var script = 'const date = new Date("' + date + '"); const options = { dateStyle: "' + dateStyle + '", timeStyle: "' + timeStyle + '" }; date.toLocaleString({}, options);';
return eval(script);
}
And then:
<span title="{{ renderLocaleDateTime(date, 'long', 'long') }}">
{{ renderLocaleDateTime(date) }}
</span>
Or even better, do it pipe.
source
share