嗨,我想根据所选语言更改日期格式,我使用 ng2-translate,这是我的工作代码,但它是静态的:
<span> {{product[col.field] | date : 'dd-MM-yyyy' >}} </span>
我想有一个当前语言的格式日期,如下所示:
<span> {{product[col.field] | date : 'DATE.PIPE' | translate >}} </span>
在 en.json 中我有"DATE": { "PIPE": "MM-dd-yyyy"
,在 it.json 中我有"DATE": { "PIPE": "dd-MM-yyyy"
可能吗?或者有没有办法以编程方式更改格式日期?
您只需要将翻译部分放入括号中:
{{ product[col.field] | date : ('DATE.PIPE' | translate) }}
如果不这样做,date
管道将'DATE.PIPE'
字符串作为其日期格式。
只需从日期管道中删除单引号 aka
<span> {{product[col.field] | date : DATE.PIPE | translate >}} </span>
它不起作用的原因是单引号使变量名称成为字符串,并尝试将其作为 DATE 管道。PIPE 格式,但具有此类名称的格式不存在。希望这是有道理的。
下面是一个示例代码
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
dateFormat = {
date: {
pipe: 'dd-MM-yyyy'
}
};
today = Date.now();
}
app.component.html
<span> {{today | date: dateFormat.date.pipe}} </span>
> 尝试使用一些时刻.js,它有一个翻译/区域设置,可以自动更改时区并
时刻 js
时刻JS的文档