当前位置: 首页 > 面试题库 >

如何在Angular 2的DatePipe中设置语言环境?

谢旻
2023-03-14
问题内容

我想使用欧洲格式显示日期,dd/MM/yyyy但使用DatePipe shortDate 格式仅使用美国日期样式显示MM/dd/yyyy
我假设多数民众赞成在默认语言环境是en_US。也许我在文档中丢失了,但是如何更改Angular2应用程序中的默认语言环境设置?也许有某种方法可以将自定义格式传递给DatePipe?


问题答案:

从Angular2 RC6开始,您可以通过添加提供程序在应用程序模块中设置默认语言环境:

@NgModule({
  providers: [
    { provide: LOCALE_ID, useValue: "en-US" }, //replace "en-US" with your locale
    //otherProviders...
  ]
})

货币/日期/数字管道应选择区域设置。LOCALE_ID是一个OpaqueToken,将从角度/核心导入。

import { LOCALE_ID } from '@angular/core';

对于更高级的用例,您可能想从服务中选择语言环境。创建使用日期管道的组件时,语言环境将被解析(一次):

{
  provide: LOCALE_ID,
  deps: [SettingsService],      //some service handling global settings
  useFactory: (settingsService) => settingsService.getLanguage()  //returns locale string
}

希望对你有效。



 类似资料:
  • 我正在尝试在我的symfony 2.1网站上安装一个语言转换器。 我遵循官方文档,设置翻译文件,但使用$request设置语言环境- 然而,我仍然无法让它工作,我不太确定我的侦听器声明,它有什么问题吗? 我的控制器: 配置中的服务声明。yml: 我的路线:

  • 问题内容: 当我在Linux机器上使用默认的Java语言环境时,它带有美国语言环境设置,应在哪里进行更改以使其具有正确的语言环境? 问题答案: 我相信Java会从启动它的环境变量中收集这些信息,因此您需要确保正确设置LANG和LC_ *环境变量。 语言环境手册页包含有关所述环境变量的完整信息。

  • 问题内容: 我用来将货币从BigDecimal格式化为字符串。按预期工作,问题在于我们的主要目标是荷兰市场,而默认的荷兰格式很奇怪。 让我解释一下,当格式化-125时,荷兰语将得到“€125-”(预期为“-€125”)。英国按预期方式提供“-£125.50”。 我可以检查语言环境是否为荷兰语,然后在每次我要设置小数格式时都提供一个模式。但是我更喜欢一个解决方案,它可以覆盖荷兰的格式设置。我在考虑以

  • 问题内容: 我正在运行Ubuntu Docker容器。我有挪威语键盘,需要使用挪威语字符(øæå)。 我的终端字符编码设置为UTF-8,我使用SSH连接到我的容器。但是,我无法键入挪威字符,也无法复制和粘贴挪威字符,也无法使用CTL + SHIFT + U + 00f8。 我试过了: 但是什么都没有改变。如何在Docker容器中设置语言环境和键盘? 问题答案: 将Dockerfile改编自 这摘自

  • 问题内容: 我想将我的JVM的默认语言环境设置为。有哪些可能的选择呢? 我只知道一种选择 问题答案: 从Oracle参考: 应用程序的默认语言环境是通过三种方式确定的。首先,除非你已显式更改默认值,否则该 方法将返回Java虚拟机(JVM)首次加载时最初确定的语言环境。也就是说,JVM从主机环境中确定默认语言环境。主机环境的语言环境由主机操作系统和在该系统上建立的用户首选项确定。 其次,一些Jav

  • 问题内容: 我想设置和朋友使用的JSTL语言环境。我知道可以使用,但我需要动态地进行操作(取决于从数据库中检索到的用户数据),并且更喜欢Java代码- 确切地说是一个过滤器类。 我以为将session属性设置为所需的实例可以解决问题,但是它被忽略了:JSTL标记继续使用浏览器的语言环境。 我确认没有页面上下文或相同名称的请求属性。 那我在做什么错?还是我真的需要通过JSP做到这一点? 阅读JSTL