1

嗨,我想根据所选语言更改日期格式,我使用 ng2-translate,这是我的工作代码,但它是静态的:

<span> {{product[col.field] | date : 'dd-MM-yyyy' >}} </span>

我想有一个当前语言的格式日期,如下所示:

<span> {{product[col.field] | date : 'DATE.PIPE' | translate >}} </span>

"DATE": { "PIPE": "MM-dd-yyyy"在 en.json 和 it.json 的哪个位置有 "DATE": { "PIPE": "dd-MM-yyyy" 可能吗?或者有没有办法以编程方式更改格式日期?

4

3 回答 3

2

您只需要将翻译部分放入括号中:

{{ product[col.field] | date : ('DATE.PIPE' | translate) }}

如果您不这样做,则date管道将'DATE.PIPE'字符串作为其日期格式。

于 2017-04-11T09:19:48.760 回答
2

只需从日期管道中删除单引号

<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>
于 2017-04-11T08:56:44.090 回答
0

尝试使用一些 moment.js,它有一个翻译/语言环境设置,可以自动更改时区和 stuf

时刻js

时刻 js 的文档

于 2017-04-11T08:48:38.487 回答