0

Angular 2 で、カスタム形式の日付をポーランド語に使用するアプリケーションがあります。

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

クラスをインポートすることで可能です

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

次に、アプリケーションを Angular 4.3 に変換/アップグレードすると、このクラス (DateFormatter) がなくなりました。

私は誰かがそれがどこにあるかを知っていますか、またはそのようなフォーマットを実現するために他にどのような方法を使用する必要がありますか?

4

2 に答える 2

1

このDateFormatterクラスは現在、ソース コードでここにあります。

ただし、Angular では、このようなディープ パスからのインポートは許可されていません。@angular/common探している機能が公開されていない場合は、それが非公開であり、使用することが想定されていないことを意味します (これが、アップグレード後にアプリケーションが壊れた理由です)。

またはdate-fnsDatePipeなどのユーティリティ ライブラリの使用を検討してください。

于 2017-08-12T12:00:14.390 に答える
0

私たちのアプリケーションでは、日付パイプを使用しています。例えば<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 に依存しているため、古いブラウザでは問題がある可能性があることを考慮してください。

于 2017-08-12T11:59:25.280 に答える