js 获取当前gmt时间_javascript-如何将日期转换为GMT?
尽管看起来很合逻辑,但是可以接受的答案是错误的,因为JavaScript日期不能那样工作。
在此必须特别注意的是,JavaScript中的日期(即new Date()-0或x)的数值始终以毫秒为单位,以纪元为准,该纪元是无时区的量,基于宇宙历史中精确的精确时刻。 您不需要对new Date(x)返回的数值加或减任何东西,就可以将数值转换为时区,因为该数值没有时区。 如果确实具有时区,则JavaScript日期中的其他所有内容均将不起作用。
时区,leap年,leap秒以及对我们当地时间和日期的所有其他无休止的复杂调整,都是基于此一致且明确的数值,而不是相反的。
以下是日期(提供给日期构造函数)的数值如何与时区无关的示例:
在中部标准时间:
new Date(0);
// Wed Dec 31 1969 18:00:00 GMT-0600 (CST)
在阿拉斯加的安克雷奇市:
new Date(0);
// Wed Dec 31 1969 15:00:00 GMT-0900 (AHST)
在法国巴黎:
new Date(0);
// Thu Jan 01 1970 01:00:00 GMT+0100 (CET)
至关重要的是要注意,在所有情况下,基于零毫秒的无时区的纪元偏移,结果时间是相同的。 在法国巴黎,凌晨1点与前一天在阿拉斯加安克雷奇的下午3点完全相同,而在伊利诺伊州芝加哥,则与下午6点完全相同。
因此,此页面上接受的答案不正确。 观察:
// Create a date.
date = new Date();
// Fri Jan 27 2017 18:16:35 GMT-0600 (CST)
// Observe the numerical value of the date.
date.valueOf();
// 1485562595732
// n.b. this value has no timezone and does not need one!!
// Observe the incorrectly "corrected" numerical date value.
date.valueOf() + date.getTimezoneOffset() * 60000;
// 1485584195732
// Try out the incorrectly "converted" date string.
new Date(date.valueOf() + date.getTimezoneOffset() * 60000);
// Sat Jan 28 2017 00:16:35 GMT-0600 (CST)
/* Not the correct result even within the same script!!!! */
如果您在另一个时区中有日期字符串,则无需转换为x创建的结果对象。 为什么? 该日期的JavaScript数值将是相同的,而不管其时区如何。 无论原始时区是什么,JavaScript都会自动执行极其复杂的过程以提取自该纪元以来的原始毫秒数。
最重要的是,将文本日期字符串x插入到new Date(x)构造函数中,将自动从原始时区(无论可能是什么)转换为无时区的时间毫秒表示形式,无论任何时区,该时间都相同。 在实际的应用程序中,您可以选择在所需的任何时区中显示日期,但不要在日期的数值上加/减。 所有转换已在创建日期对象的那一刻发生。 时区已经不存在了,因为使用精确定义且无时区的时间实例化了date对象。
仅当考虑到应用程序的用户时,时区才再次开始存在。 用户确实具有时区,因此您只需向用户显示该时区。 但这也会自动发生。
让我们考虑一下原始问题中的几个日期:
date1 = new Date("Fri Jan 20 2012 11:51:36 GMT-0300");
// Fri Jan 20 2012 08:51:36 GMT-0600 (CST)
date2 = new Date("Fri Jan 20 2012 11:51:36 GMT-0300")
// Fri Jan 20 2012 08:51:36 GMT-0600 (CST)
控制台已经知道我的时区,因此它会自动显示这些时间对我意味着什么。
而且,如果您想知道格林尼治标准时间(GMT)/ UTC表示的时间,则也无需转换! 您根本不会更改时间。 您只需显示时间的UTC字符串即可:
date1.toUTCString();
// "Fri, 20 Jan 2012 14:51:36 GMT"
几乎可以保证使用JavaScript日期的数字值编写的代码可以以数字方式转换时区。 时区太复杂了,这就是设计JavaScript的原因,因此您无需这样做。
js 获取当前gmt时间_javascript-如何将日期转换为GMT?相关推荐
- js获取浏览器当前时间
js获取浏览器当前时间:格式:2020-05-18 10:44:40 <script type="text/javascript">var nowDate=new Da ...
- js如何获取计算机当前时间,js获取当前系统时间
搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. var myDate = new Date(); myDate.getYear( ...
- Js获取当前系统时间,24小时制
Js获取当前系统时间 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); / ...
- js获取ISO8601规范时间,使用UTC时间,格式为:YYYY-MM-DDThh:mm:ssZ
js获取ISO8601规范时间,使用UTC时间,格式为:YYYY-MM-DDThh:mm:ssZ var d = new Date(); d.setHours(d.getHours(), d.getM ...
- js 实时显示服务器时间,js获取服务器实时时间
本文主要和大家分享js获取服务器实时时间,主要以代码的方法和大家分享,希望能帮助到大家. AJAX获取服务器时间 /* * ajax 函数,处理 ajax 请求 * @param function c ...
- js获取系统当前时间并格式化
js获取系统当前时间并格式函数: Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() ...
- Js获取年月日及时间转换
Js获取年月日及时间转换 1.获取年.月.日和将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 下面是获取时间日期的方法, ...
- js 获取当前日期,计算往后三个月的日期
js 获取当前日期,计算往后三个月的日期 合同管理中的试用期,即当前入职时间(年月日)与到三个月试用期的时间(年月日) //css.Partyinp{width: 40px;height: 20px; ...
- JS 返回两个时间之间的所有日期、月份、年份、季度
JS 返回两个时间之间的所有日期.月份.年份.季度 1.日期 /*** 获取两日期之间日期列表函数* 返回两个时间之间所有的日期* 参数示例 ('2021-05-31','2021-06-30')* ...
最新文章
- Jq-table最后一行添加样式
- 计算机知识和技能,计算机基本知识和技能PPT课件.ppt
- Thrift使用指南
- 华为智能计算发布FusionServer Pro智能服务器
- 用vue实现简单实时汇率计算功能
- php上传文件大小读取,怎么修改php上传文件的大小限制?
- 模板 manacher算法
- 计算机的组成 —— 存储(内存/硬盘)
- 为什么大数据分析很重要
- 24种编程语言的Hello World程序
- 欧姆龙服务器数码管不显示问题,TM1640驱动数码管不显示问题
- 常见概率抽样方法及其适用场景总结
- c语言函数实验总结小说,大一上期C语言实验报告7函数
- linux ubi 分区,Linux ubi子系统原理分析
- 论文解析 | 不确定性校准的化学反应预测模型
- LSD-slam算法原理
- ssh登录主机报错: Unable to negotiate with 172.222.222.243 port 22: no matching key exchange method found.
- python解压多层压缩包,兼容tar.gz .tgz .zip .7z .gz
- MATLAB数字图像课题的开题报告
- 密度聚类:OPTICS算法简单易懂版
热门文章
- 后渗透后门_TheFatRat:Msfvenom傻瓜化,小白也可以学渗透
- oracle如何获取异常,ORACLE-函数异常处理(EXCEPTION)
- Storm案例:统计单词个数
- Python学习笔记:列表、字典与集合解析(List, Dict and Set Comprehensions)
- 【BZOJ1082】【codevs2456】栅栏,让人抓狂的优化剪枝
- 使用情态动词提出请求和问题_53
- c# contains方法_HTML5系列之新的API(新操作方法、文件获取、地理定位、音视频、摄像头等)
- 20178.27 万径人踪灭 思考记录
- 2017.8.17 陌上花开 思考记录
- java excel 取值_java实现Excel 单元格取值工具类