我在下面显示了三种日期格式:-
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 / 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
希望这会对您有所帮助,如果您需要任何帮助,请告诉我。
谢谢,库沙尔