标签: date-pipe

使用管道格式化日期为dd/MM/yyyy

我正在使用date管道格式化我的日期,但我无法获得我想要的确切格式而无需解决方法.我是错误地理解管道还是不可能?

//our root app component
import {Component} from 'angular2/core'

@Component({
  selector: 'my-app',
  providers: [],
  template: `
    <div>
      <h2>Hello {{name}}</h2>
      <h3>{{date | date: 'ddMMyyyy'}}, should be 
      {{date | date: 'dd'}}/{{date | date:'MM'}}/{{date | date: 'yyyy'}}</h3>

    </div>
  `,
  directives: []
})
export class App {
  constructor() {
    this.name = 'Angular2'
    this.date = new Date();
  }
}
Run Code Online (Sandbox Code Playgroud)

plnkr视图

date angular-pipe date-pipe angular

224
推荐指数
12
解决办法
46万
查看次数

如何在Angular 2中的DatePipe中设置区域设置?

我想显示使用欧洲格式的日期dd/MM/yyyy,但使用DatePipe shortDate格式只使用美国日期格式显示MM/dd/yyyy.
我假设默认语言环境是en_US.也许我在文档中遗漏了但是如何更改Angular2应用程序中的默认语言环境设置?或者是否有某种方法可以将自定义格式传递给DatePipe?

javascript date-pipe angular

121
推荐指数
8
解决办法
11万
查看次数

如何在服务和指令脚本文件中使用angular2内置日期管道

我需要在服务和指令脚本文件中使用angular2的日期管道(不仅仅是HTML).

有人有想法吗?

无法上传代码有些政策限制,对不起.

angularjs-directive angular-services date-pipe angular

31
推荐指数
2
解决办法
4万
查看次数

如何处理Angular 4日期管道的时区问题?

我在每个对象中都有一个日期值,我可以像这样打印:

<td> {{competition.compStart }}</td>
Run Code Online (Sandbox Code Playgroud)

以下是它的外观:

1931-05-31T00:00:00.000+0000
Run Code Online (Sandbox Code Playgroud)

为了更改格式以使其更具可读性我正在使用Angular日期管道:

<td> {{competition.compStart | date : "dd/MM/yyyy"}}</td>
Run Code Online (Sandbox Code Playgroud)

有了这个结果:

30/05/1931
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它显示的是前一天(5月30日而不是5月31日).

据我了解,问题与时区有关,因为我在阿根廷,我们有GMT-3,然后31点零下3小时的00:00将是5月30日晚上9点.

那么我怎样才能让它花费时间从字面上看而不是根据时区处理它,但仍然在管道中应用格式?

date-pipe angular

27
推荐指数
3
解决办法
4万
查看次数

如何转义角度日期管道中的字符?

我有一个Angular日期变量today,我正在使用日期管道,如下所示:

{{today | date:'LLLL d'}}
Run Code Online (Sandbox Code Playgroud)

2月13日

但是,我想让它看起来像这样:

2月到目前为止13天

当我尝试一种天真的方法,我得到这个结果:

{{today | date:'d days so far in LLLL'}}
Run Code Online (Sandbox Code Playgroud)

13 13PM201818 2月18日fPMr

这是因为,例如d指的是当天.

如何在Angular日期管道中转义这些字符?我尝试了\d这样,但结果并没有随着添加的反斜杠而改变.

date date-pipe angular

15
推荐指数
2
解决办法
4517
查看次数

Angular 4 Date Pipe错误转换

我有休息服务,它返回一个对象集合,其中一个字段是日期字符串(ISO-8601格式),日期值如下

"createdDate":"2017-02-21T12:56:50.907",

在angular4 UI中,我将DatePipe格式化为上述日期

{{resultItem.createdDate | 日期: '短'}}

而且我的错误转换如下: 2017年2月21日,上午7:56

而不是2/21/ 2017,0:56 AM

date-pipe angular

13
推荐指数
3
解决办法
2万
查看次数

Angular DatePipe - 使用零时区(12 而不是 00)将秒数转换为时间

我想使用 DatePipe 转换数字(代表秒)以获得如下结果:

00:00:05

我试过用 DatePipe 这样做:

<label>No timezone (default) {{ 5 * 1000 | date:'h:mm:ss'}}</label>
Run Code Online (Sandbox Code Playgroud)

但它产生的结果包含时区 +4(这不是我想要的):

4:00:05

所以为了避免这种情况,我试图将时区偏移设置为 0:

<label>{{ 5 * 1000 | date:'h:mm:ss z':'+0000'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'UTC'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'GMT'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'GMT+0'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'UTC+0'}}</label>
Run Code Online (Sandbox Code Playgroud)

但这一次时间移动了 12 小时而不是 0:

12:00:05 格林威治标准时间+0

那么有没有一种方法可以在不移动时区的情况下使用 DatePipe 将秒转换为时间?
或者是否有任何其他角度的管道可用于此目的?

date-pipe angular

12
推荐指数
1
解决办法
1万
查看次数

覆盖 Angular 默认日期管道

我需要覆盖默认的 Angular 7 日期管道格式(mediumshortfullDate等),因为我不想使用两个日期管道(默认一个和自定义一个),所以我做了以下并想知道是一个这样做的好主意:

// extend-date.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
import { DatePipe } from '@angular/common';

@Pipe({
  name: 'date'
})
export class ExtendDatePipe extends DatePipe implements PipeTransform {
  constructor() {
    super('en-US');

    this.customDateFormats = {
      medium: '...',
      short: '...',
      fullDate: '...',
      longDate: '...',
      mediumDate: '...',
      shortDate: '...',
      mediumTime: '...',
      shortTime: '...'
    };
  }

  transform(value: any, args?: any): any {
    switch (args) {
      case 'medium':
        return super.transform(value, this.customDateFormats.medium);
      case 'short':
        return super.transform(value, this.customDateFormats.short); …
Run Code Online (Sandbox Code Playgroud)

date-pipe angular

10
推荐指数
2
解决办法
4055
查看次数

包含Angular 2+ Date Pipe格式的文本

我试图DatePipe在Angular 2中使用.我希望输出日期格式为:08/23/2017 at 11:07 AM.

但是,我无法找出at以我的日期格式包含文本的正确方法.

当我指定格式时: {{my_date | date:'MM/dd/yyyy at hh:mm a'}}

我明白了:08/23/2017 AMt 11:07 AM.

我试着在引号中包围文本: {{my_date | date:'MM/dd/yyyy "at" hh:mm a'}}

但这只是在输出中添加了引号:08/23/2017 "AMt" 11:07 AM.

唯一的方法是将它分成两个独立的管道,格式的两边是{{my_date | date: 'MM/dd/yyyy}} at {{my_date | date: 'hh:mm a'}}什么样的?

或者有没有办法逃脱ain,at以便它将显示文本at而不是AMt

pipe date-pipe angular

9
推荐指数
1
解决办法
4277
查看次数

如何使用DatePipe在Angular 4中获取日期和时间

我正在使用角度4应用程序,在这里我需要使用角度DatePipe获取当前日期和时间.

我希望以下列格式获取日期和时间

dd-mm-yyyy hh:MM:ss AM/PM

我通过使用Angular DatePipe获得了预期,如下所示

<p>{{today | date:'dd-MM-yyyy hh:mm:ss a':'+0530'}}</p> 
Run Code Online (Sandbox Code Playgroud)

输出:

10-05-2018 03:28:57 PM
Run Code Online (Sandbox Code Playgroud)

在这里,我想要做的是从app.component.ts获取相同的输出而不触及HTML

所以我尝试了下面的代码,但它生成了一个13位数的时间戳

today = Date.now();
    fixedTimezone = this.today;
Run Code Online (Sandbox Code Playgroud)

那么如何在不使用HTML的情况下从app.component.ts文件中获取所提及格式的日期和时间.

typescript date-pipe angular

7
推荐指数
2
解决办法
7万
查看次数