格式化时间返回不一致
2023-6-30 和2023-06-30 new Date()后返回时间格式不一致问题
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、new Date转时间后为什么会相差8个小时?
2023-6-30 和2023-06-30 new Date()后返回时间格式不一致问题
上面代码中,日期字符串有没有前导 0,返回的结果是不一样的。如果没有前导 0,JavaScript 引擎假设用户处于本地时区,所以本例返回 0 点 0 分。如果有前导 0(即如果你以 ISO 格式表示日期),就假设用户处于格林尼治国际标准时的时区,所以返回 8 点 0 分。但是,ES6 改变了这种做法,规定凡是没有指定时区的日期字符串,一律认定用户处于本地时区。
GMT(Greenwich Mean Time)是格林威治标准时间,英国伦敦格林威治定为0°经线开始的地方,地球每15°经度 被分为一个时区,共分为24个时区,相邻时区相差一小时,GMT格式形如Wed Apr 22 2020 22:51:07 GMT+0800
越往东时间越晚,比如日本(东九区)比北京(东八区)晚一个小时。北京在东八区,即GMT+8,所以北京比GMT时间多了8个小时
中国是CST时间
二、解决方案
new Date('2023-06-30 00:00:00') //返回值就为0时0分0秒时的数据