问题:
- 今天在学习Cookie的时候,对于设置Cookie存活期的时候要将时间转化成GMT格式;带着疑问,我查阅众多资料,做了众多测试得出结论;
解答:(本文测试建立在使用chrome浏览器)
- 首先了解两个时间;这两个时间是本人同一时间获得的;说明格林威治时间比我们中国的标准时间早8h
类型 | 时间 | JavaScript中的表示 |
---|---|---|
想要设置的时间 | Sun Jun 20 2021 16:46:48 | new Date() |
中国标准时间 | Sun Jun 20 2021 16:46:48 GMT+0800 (中国标准时间) | new Date() |
格林威治时间 | Sun, 20 Jun 2021 08:46:48 GMT | new Date().toGMTString() |
- Sun Jun 20 2021 16:46:48 GMT+0800 (中国标准时间):通过
Date date=new Date();
得到中国标准时间 - Sun, 20 Jun 2021 08:46:48 GMT (格林威治时间):通过
date.toGMTString()
将当前时间转化成格林威治时间, - 正如我们添加Cookie时设置expires属性一样,添加的是中国时间,但在chrome浏览器界面显示的是格林威治时间一样
- 那么就有以下成立:
- 格林威治时间:
date.toGMTString();
等同于 中国的时间-8h:date.setTime(date.getTime()-8*60*60*1000);
百科:
- 格林威治时间:又叫世界时,即格林尼治平太阳时,是表示地球自转速率的一种形式。由于地球自转速率曾被认为是均匀的,因此在1960年以前,世界时被认为是一种均匀时。Newcomb所提出的世界时定义就是以此为基础的。现已证实,地球自转实际上是不均匀的,所以世界时是一种非均匀时,它与原子时或力学时都没有任何理论上的关系,只有通过观测才能对它们进行比较。这样,世界时的定义主要应该是表示它与地球自转速率的关系。(摘自百度百科)
- 中国标准时间:北京时间是中国采用国际时区东八时区的区时作为标准时间。
北京时间并不是北京(东经116.4°)的地方时间,而是东经120°的地方时间,故东经120度地方时比北京的地方时早约14分半钟。因为北京处于国际时区划分中的东八区,同格林尼治时间(世界时)整整相差8小时(即北京时间=世界时+8小时),故命名为“北京时间”。东八区包括的范围从东经112.5°到东经127.5°,以东经120°为中心线,东西各延伸7.5°,总宽度为15°的区域。(摘自百度百科)