【问题标题】:Format dates in Angular based on locale ID根据语言环境 ID 在 Angular 中格式化日期
【发布时间】:2018-06-18 05:53:51
【问题描述】:

我正在尝试使用 Angular DatePipe 根据所选的语言环境 ID 显示日期,所以如果我说 {{测试 |日期:'短'}} 我希望这会选择 angular.json 中设置的语言环境 “i18nLocale”:“en-gb” 但它似乎显示的是美国格式。

有没有办法做到这一点?如果我想使用自定义格式但要根据语言环境进行更改怎么办? (例如,英国为 dd/MM/yyyy,美国为 MM/dd/yyyy)?

我正在使用 AOT。我的想法是创建一个转换日期的自定义管道,但我不知道如何让它获取语言环境 ID,除了每次使用管道时传递语言环境之外,我在文档中找不到任何内容。 我知道我可以在应用程序的提供程序中设置区域设置 ID,但我希望能够在多个配置中设置不同的区域设置,而无需修改 src 代码。

【问题讨论】:

    标签: angular date pipe


    【解决方案1】:

    您可以通过以下方式在日期管道中设置语言环境。

    {{test | date : 'short':'en-gb'}}
    

    希望这个回答对你有帮助

    【讨论】:

    • 谢谢,但我希望能够使用配置中设置的语言环境(最好在 angular.json 中)以避免每次使用管道时都必须通过它,如果我这样做的话像这样我将无法使用不同的语言环境构建应用程序。
    • 您可以在环境变量中设置语言环境,然后将其作为 ng build 的一部分传递 - 即 ng build --configuration=en-gb 并拥有 environment.en-gb.ts。在您的构建中引用 environment.ts 的任何地方都会切换到该配置,您只需将环境变量维护在一个地方
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 2018-09-05
    • 2015-05-22
    • 1970-01-01
    • 2020-03-04
    • 2015-05-31
    相关资源
    最近更新 更多