angular - 为什么将我的日期转换为 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**
解决方案
因为 ISO 格式始终采用 UTC 而不是您当地的时区,并且提前了几个小时。就像你有一个住在英国的朋友一样;他们时钟上的时间将领先于您在美国东部时间的时钟。时区通常是一场噩梦,但您所拥有的只是将您的时区标准化以符合 ISO 标准——它不会提前一天,而且实际时间是相同的。
推荐阅读
- c++ - 无效函数使用相同的变量打印两个不同的答案
- swift - 带有持续时间的循环动画,Swift 4
- javascript - 如何关闭手风琴菜单的打开部分?
- python - Scrapy/Python 请求优先级和 CONCURRENT_REQUESTS
- c# - 谷歌浏览器向每个控制器/剃须刀页面发送 2 个请求
- r - 如何使用 Nix 包管理器添加本地 R 包
- java - Spring MVC 表单 - 支持对象有 150 多个字段,可以自动生成 HTML 表单吗?
- google-calendar-api - Google 日历 API 返回未经授权
- istio - Istio 网关未应用于 istio-ingressgateway
- python-3.x - 如何在差分进化优化中保存每次迭代的函数的参数值