angular:将UTC转换为本地日期时间

Angular: Convert UTC to local date time

我想转换2018-04-03T06:08:08-05:00

MM.dd.yyyy HH:mm

如何在Angular 4.x中执行此操作?


尝试使用:

在html中:

1
<p>Formatted  Date: {{ newdate | date:'MM.dd.yyyy HH:mm' }} </p>

在组件中:

1
newdate = new Date('2018-04-03T06:08:08-05:00');

输出:

1
Formatted Date: 04.03.2018 22:29

Stackblitz


类似于使用Date的getHours(),getMinutes()等香草javascript。这是对类似问题的参考,可能会有所帮助。

使用Javascript的当前时间格式


所有这些都是您可以在angular中使用时区的多种方式:-

1
2
3
4
{{currentDate | date:'short':'UTC +9:30 / +10:30'}}
{{currentDate | date:'short':'GMT'}}
{{currentDate | date:'short':'-0600'}}
{{currentDate | date:'short':'UTC+4'}}

日期格式如下:-

1
2
3
4
5
6
7
8
9
10
11
medium: Sep 9, 2019, 12:35:54 PM
long: September 9, 2019 at 12:35:54 PM GMT+5
full: Tuesday, September 9, 2019 at 12:35:54 PM GMT+05:30
shortDate: 09/3/19
mediumDate: Sep 9, 2019
longDate: September 9, 2019
fullDate: Tuesday, September 9, 2019
shortTime: 12:35 PM
mediumTime: 12:35:54 PM
longTime: 12:35:54 PM GMT+5
fullTime: 12:35:54 PM GMT+05:30

这些都是不同时区的示例:-

1
2
3
4
5
6
7
8
9
Alpha Time Zone 'UTC+1'
Arabia Standard Time 'UTC+3'
Central Standard Time 'UTC-6'
China Standard Time 'UTC+8'
Delta Time Zone 'UTC+4'
Greenwich Mean Time 'UTC+0'
Gulf Standard Time 'UTC+4'
Hawaii Standard Time 'UTC-10'
India Standard Time 'UTC+4'

您需要检查一下:https://angular.io/api/common/DatePipe

如链接中所述,您可以在组件中声明日期,例如:

1
2
3
export class DatePipeComponent {
  today = Date.now();
}

,然后使用管道将其转换为所需格式:

1
{{today | date:'yyyy-MM-dd HH:mm a z':'+0900'}}