首页 > 解决方案 > 为什么将我的日期转换为 toISOString 会为我在 TypeScript 中的日期添加额外的一天

问题描述

当我将 Typescript 转换为 (toISOString) 时,我在 Typescript 中有日期,它增加了额外的一天,这让我的代码变得混乱。

看代码:

   this.mycurrentDate= new Date();
   console.log(this.mycurrentDate);
   //**result: Sun Jun 28 2020 22:42:50 GMT-0400 (Eastern Daylight Time)**
   this.mycurrentDate= this.mycurrentDate.toISOString();
   console.log(this.mycurrentDate);
   //**result: 2020-06-29T02:42:50.991Z**

标签: angulartypescript

解决方案


因为 ISO 格式始终采用 UTC 而不是您当地的时区,并且提前了几个小时。就像你有一个住在英国的朋友一样;他们时钟上的时间将领先于您在美国东部时间的时钟。时区通常是一场噩梦,但您所拥有的只是将您的时区标准化以符合 ISO 标准——它不会提前一天,而且实际时间是相同的。


推荐阅读