2017-08-12 52 views
0

我有角2的应用程序,使用自定义格式日期波兰语:通过导入类角4 - DateFormatter - 如何

import { DateFormatter } from '@angular/common/src/facade/intl'; 

接下来,我将/升级

return DateFormatter.format(new Date(date + ' 12:00:00'), 'pl-PL', 'd MMMM y'); 

有可能我的应用程序到Angular 4.3和这个类(DateFormatter)不再存在。

我有人知道它在哪里,或者我应该用什么其他方法来实现这种格式?

回答

0

在我们的应用程序中,我们使用date pipe。例如。 <p class="dIB">{{bfPreventer.nextControlDate | date: 'shortDate'}}</p>

默认情况下,它采用浏览器的当前文化。但是你可以在启动时改变它。我不确定它是否完美,但它对我们很好。

@NgModule({ 
bootstrap: [AppComponent], 
declarations: [ 
    ...pageComponents 
], 
imports: [ 
    BrowserModule, 
    ... 
    TranslateModule.forRoot(), 

], 
providers: [ 

    { provide: LOCALE_ID, useValue: window.navigator.language.indexOf("en") >= 0 ? "en-US" : "nb-NO" }, 

]}) 

另外,请考虑管道依赖于浏览器的i18n API,所以旧的浏览器可能会有问题。

1

DateFormatter类目前可以在源代码中找到here

但是,Angular不允许从此类深度路径导入。如果@angular/common不公开你要找的功能,这意味着它是私有的和你不应该使用它(这就是为什么在升级后您的应用打破了)。

考虑使用DatePipe或实用程序库如date-fns