Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript错误/从UTC转换日期提取的日期时间不同_Javascript_Angular_Timezone_Utc - Fatal编程技术网

Javascript错误/从UTC转换日期提取的日期时间不同

Javascript错误/从UTC转换日期提取的日期时间不同,javascript,angular,timezone,utc,Javascript,Angular,Timezone,Utc,我有一个本地格式的日期,我将其更改为UTC格式。UTC之后,我想提取UTC中的日期和时间。但每当我试图提取时间或日期,它只考虑当地时间,为什么 this.utcDate = this.datePipe.transform(this.onceDate,'medium'); console.log('+=timezonenene=+', this.utcDate); this.utcDateStr = new Date(this.utcD

我有一个本地格式的日期,我将其更改为UTC格式。UTC之后,我想提取UTC中的日期和时间。但每当我试图提取时间或日期,它只考虑当地时间,为什么

          this.utcDate = this.datePipe.transform(this.onceDate,'medium');
          console.log('+=timezonenene=+', this.utcDate);

          this.utcDateStr = new Date(this.utcDate).toUTCString();
          console.log('++ date is ++', this.utcDateStr);

          this.utcDateStr = new Date(this.utcDateStr).toISOString();
          console.log('++ date is ++', this.utcDateStr);

          this.showDate = this.datePipe.transform(this.utcDateStr, 'yyyy-MM-dd');
          this.showTime = this.datePipe.transform(this.utcDateStr, 'HH:mm');
          console.log('+=time date zonenene date str =+', this.showDate);
          console.log('+=timezonenene date str=+', this.showTime);
输出:

+=timezonenene=+ Apr 7, 2020, 5:41:16 PM
++ date is ++ Tue, 07 Apr 2020 12:11:16 GMT
++ date is ++ 2020-04-07T12:11:16.000Z
+=time date zonenene date str =+ 2020-04-07
+=timezonenene date str=+ 17:41

我希望最后记录的时间是:12:11而不是17:41(尽管您直接调用了
transform
函数),但您的问题似乎是关于的

从有关
时区的文档中
参数:

未提供时,使用最终用户的本地系统时区

因此,要获得UTC输出,您可以在每次调用
datePipe.transform
时,在format参数之后更改代码以提供时区参数
'UTC'


另外,我会重新考虑为什么要生成字符串只是为了再次解析它们。通常这是不必要的,并且可能导致错误。如果
this.onceDate
是一个
Date
对象,您应该能够在整个代码中使用它,而不是创建
this.utcDateStr
来再次解析和转换它。(虽然很难从您的代码中判断是否是这种情况。将来,请提供a。)

当然可以,如果我们可以直接获得utc时间,则无需将其转换为utc字符串,谢谢。