将UTC时间转换为本地时间

时间:2019-06-20 10:16:06

标签: javascript angular typescript

我想将此utc格式的日期转换为角度的印度日期和时间格式

2019-02-18T17:31:19-05:00

我希望采用这种格式DD / MM / YYYY HH:MM(例如:02/19/2019 04:01 AM)。谁能建议我该怎么做。.

6 个答案:

答案 0 :(得分:1)

使用普通JavaScript的一种方法是利用Date.toLocaleString(),并将其设置为timeZone属性,以将其转换为印度时区。

new Date('2019-02-18T17:31:19-05:00').toLocaleString("en-US", {timeZone: "Asia/Kolkata"});

console.log(new Date('2019-02-18T17:31:19-05:00').toLocaleString("en-US", {timeZone: "Asia/Kolkata"}));

答案 1 :(得分:0)

如果您在模块中使用locale_id,则所有日期管道均应遵守该语言环境 https://angular.io/api/core/LOCALE_ID

答案 2 :(得分:0)

根据语言环境规则设置日期值的格式。

{{ value_expression | date [ : format [ : timezone [ : locale ] ] ] }}

Sourxe:https://angular.io/api/common/DatePipe

答案 3 :(得分:0)

UTC日期应附加“ Z”。例如。 2019-02-18T17:31:00Z

第二,使用Date.parse()

将日期字符串转换为Date对象。

然后使用日期过滤器显示日期<span> {{ dateStr | date }}</span>

在下面检查 JS-

angular.module('plunker', []).controller('MainCtrl', function($scope) {
    $scope.dateStr = Date.parse('2019-02-18T17:31:00Z');
});

HTML-

<div ng-controller="MainCtrl">
  {{ dateStr | date }}
</div>

答案 4 :(得分:0)

如果需要,您可以使用很棒的库来进行与日期和时间相关的操作。

https://momentjs.com/timezone/docs/

根据您的情况,您可以尝试以下

moment.tz('2019-02-18T17:31:19-05:00', 'Asia/Kolkata').format('MM/DD/YYYY HH:mm a');

这将以所需格式返回日期。让我知道是否需要任何进一步的解释。

答案 5 :(得分:0)

以ts

import {utc} from 'moment';
utc = utc;

以html

{{ utc("2019-02-18T17:31:19-05:00").local().format("DD/MM/YYYY HH:MM")}}