Angular 日期过滤器:将月份格式化为当地时间

Angular date filter: Format month as local time

我有一个日期格式为 ISO-8601 字符串:overview.startTime = "2017-05-09T08:00:00Z"

我想在我的页面上显示这个,我使用了以下代码:

Dagens arbetspass {{overview.startTime | date:'dd-MMM'}}

这显示为"Dagens arbetspass 09-May"。我的问题是这是一个瑞典网站,在瑞典我们不会以大写字母开头月份名称。 May 也写成 "maj"(最后是 j 而不是 y)。我试着像这样添加时区

Dagens arbetspass {{overview.startTime | date:'dd-MMM':'Europe/Stockholm'}}

但这并没有改变输出。事实上,大多数月份在瑞典语中的拼写都不同。有什么建议吗?

只需使用javascript"toLocaleDateString"方法即可解决问题。该方法有两个参数,它们是 'locale' 和 'options'.

瑞典语的区域设置为 "sv-se"。

选项将为您的字符串提供格式。例如-var options = { weekday: "long", year: "numeric", month:long",day:"numeric" };

var d = new Date("2017-05-09T08:00:00Z");
date.toLocaleDateString("sv-se", options)

这是一个笨蛋https://plnkr.co/edit/G2IL5Zv0OAcVRMZS9HB7