用于根据应用程序的语言环境显示日期的自定义角度管道

问题描述 投票:-2回答:1

我在下面显示了三种日期格式:-

en-GB   –             DD/MM/YYYY hh:mm:ss
en-US   –             MM/DD/ YYYY hh:mm:ss
zh-cn || zh –         YYYY/MM/DD hh:mm:ss

我必须开发一个有角度的管道,该管道实际上会检测语言环境/浏览器语言或我存储它的本地存储中的语言,应根据应用程序的语言格式化日期

if language is en-GB then it should format the date in --> DD/MM/YYYY hh:mm:ss
or 
if language is en-US then it should format the date in -->  MM/DD/ YYYY hh:mm:ss
or
if language is zh-cn || zh then it should format the date in -->  YYYY/MM/DD hh:mm:ss

请任何代码引用或任何链接,将是你们的最终帮助。

谢谢

angular date angular-pipe
1个回答
0
投票

根据您的要求,您可以使用可以从@ angular / common lib导入的DatePipe服务

这里是示例

import { DatePipe } from "@angular/common";

在您的组件中,只需添加到您的@Component装饰器中

 providers: [DatePipe]

gb = new Date();
  zh = new Date();
  us = new Date();

constructor(private datePipe: DatePipe) {
    this.gb = this.datePipe.transform(this.gb, "dd/MM/yyyy hh:mm:ss");
    this.us = this.datePipe.transform(this.us, "MM/dd/yyyy hh:mm:ss");
    this.zh = this.datePipe.transform(this.zh, "yyyy/MM/dd hh:mm:ss");
 }

这里您应该根据所获得的localstorage值编写构造函数代码。我希望您从某个地方(本地存储)获取语言,或者您已经存储了它。如果您没有获得浏览器的语言,则可以单击下面的链接,它将帮助您获得浏览器的语言。

How to get the browser language using JavaScript

以下链接后面的内容也将为您提供帮助Angular - Use pipes in services and components

希望这会对您有所帮助,如果您需要任何帮助,请告诉我。

谢谢,库沙尔

© www.soinside.com 2019 - 2024. All rights reserved.